private static void GenerateRandomExpression() { int resultLower, resultUpper, numberOfExpressions, numberOfOperandsLower, numberOfOperandsUpper; string outFileName; while (!GetDesiredResult(out resultLower, out resultUpper)) { ; } while (!GetNumberOfOperands(out numberOfOperandsLower, out numberOfOperandsUpper)) { ; } while (!GetNumberOfExpressionsToGenerate(out numberOfExpressions)) { ; } while (!GetOutputFile(out outFileName)) { ; } IO.RedirectOutputToFile(outFileName, FileMode.Create); for (int i = 0; i < numberOfExpressions; i++) { int goal = ExpressionGenerator.Random.Next(resultLower, resultUpper + 1); int numberOfOperands = ExpressionGenerator.Random.Next(numberOfOperandsLower, numberOfOperandsUpper + 1); IO.WriteLine(_generator.BuildExpression(goal, numberOfOperands)); } IO.RedirectOutputToConsole(); }
private static void GenerateExpressionsFromFormat() { if (_formats.Count == 0) { IO.WriteLineError("There are no formats specified!"); return; } int resultLower, resultUpper, numberOfExpressions; string outFileName; while (!GetDesiredResult(out resultLower, out resultUpper)) { ; } while (!GetNumberOfExpressionsToGenerate(out numberOfExpressions)) { ; } while (!GetOutputFile(out outFileName)) { ; } IO.RedirectOutputToFile(outFileName, FileMode.Create); for (int i = 0; i < numberOfExpressions; i++) { int goal = ExpressionGenerator.Random.Next(resultLower, resultUpper + 1); var format = _formats.GetRandomElement(); IO.WriteLine(_generator.FromFormat(format, goal)); } IO.RedirectOutputToConsole(); }