static void Main(string[] args) { try { var inputconverter = new InputConverter(); var caclulator = new CalculateEngine(); Console.WriteLine("Enter a number"); double firstnumber = inputconverter.ConvertToNumeric(Console.ReadLine()); Console.WriteLine("Enter an operator"); string operation = Console.ReadLine(); Console.WriteLine("Enter a number"); double secondnumber = inputconverter.ConvertToNumeric(Console.ReadLine()); double result = caclulator.Calculate(operation, firstnumber, secondnumber); ConsoleKeyInfo cki; do { firstnumber = result; Console.WriteLine("\nEnter an operator"); cki = Console.ReadKey(); if (cki.Key == ConsoleKey.OemPlus) { break; } Console.WriteLine("\nEnter a number"); secondnumber = inputconverter.ConvertToNumeric(Console.ReadLine()); operation = Convert.ToString(cki.Key); result = caclulator.Calculate(operation, result, secondnumber); } while (true); Console.WriteLine(" " + result); } catch (Exception ex) { //TODO:strat logging Exception Console.WriteLine(ex.Message); } }
static void Main(string[] args) { bool continueProgram = true; string strRestart; do { try { InputConverter inputConverter = new InputConverter(); CalculatorEngine calculatorEngine = new CalculatorEngine(); // Prompt for and receive equation Console.Write(Constants.PromptForFirstNumber); double dblNum1 = inputConverter.ConvertToNumeric(Console.ReadLine()); Console.Write(Constants.PromptForSecondNumber); double dblNum2 = inputConverter.ConvertToNumeric(Console.ReadLine()); Console.Write(Constants.PromptForOperator); string operation = Console.ReadLine(); // Call Calculate function double result = calculatorEngine.Calculate(operation, dblNum1, dblNum2); // Write result Console.WriteLine(result); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { // Ask if user wants to restart program do { Console.Write(Constants.PromptForRestartingProgram); strRestart = Console.ReadLine(); } while (!strRestart.Equals(Constants.InputToRestartProgram, StringComparison.OrdinalIgnoreCase) && !strRestart.Equals(Constants.InputToStopProgram, StringComparison.OrdinalIgnoreCase)); // Set boolean based on user's input continueProgram = strRestart.Equals(Constants.InputToRestartProgram, StringComparison.OrdinalIgnoreCase); } } while (continueProgram); }