public static void Main(string[] args) { ConsolePrinter.Info(Start); ConsolePrinter.AppInfo(StringForStart); while (true) { ConsolePrinter.WaitForInput(); var input = Console.ReadLine(); if (input.Equals("Q") || input.Equals("q")) { break; } try { var result = input .ToStringWitoutSpaces() .ToEquationInfo() .PrintReduceForm() .PrintPolinomicalDegree() .ValidateDegree() .SolveEquation(); ConsolePrinter.Result(result); } catch (DomainException e) { ConsolePrinter.Error(e.ExceptionInfo); } } }
public static EquationInfo PrintReduceForm(this EquationInfo equationInfo) { var colection = equationInfo .ToCollection(); ConsolePrinter.Info($"Reduced Form: {PrintFirst(colection)}{PrintOther(colection)} = 0{Environment.NewLine}"); return(equationInfo); }
public static EquationInfo PrintPolinomicalDegree(this EquationInfo equationInfo) { ConsolePrinter.Info($"Polynomial degree: {equationInfo.MaxDegree}"); return(equationInfo); }