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(); }
private static void ShowMenu() { foreach (var item in _menuItems) { IO.WriteLine("`{0}`. {1}", item.Id, item.Description); } IO.WriteLine(""); }
private static void ShowExistingFormats() { if (_formats.Count == 0) { IO.WriteLineWarning("No formats found."); return; } foreach (var format in _formats.OrderBy(x => x.Index)) { IO.WriteLine($"{format.Index}: {format.Format}"); } }