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) { Console.WriteLine("Simple Calculator App:"); while (true) { try { var converter = new InputConverter(); var calEngine = new CalculateEngine(); Console.WriteLine("\n"); Console.Write("Enter First Value: "); var firstParam = converter.ToDouble(Console.ReadLine()); Console.Write("Enter Second Value: "); var secondParam = converter.ToDouble(Console.ReadLine()); Console.Write("Enter Operation \"+\", \"-\", \"*\" or \"/\": "); var operation = Console.ReadLine(); var result = calEngine.Calculate(operation, firstParam, secondParam); Console.WriteLine(@"Result for {0} {1} {2} = {3}", firstParam.ToString(CultureInfo.InvariantCulture), operation, secondParam.ToString(CultureInfo.InvariantCulture), result); } catch (Exception ex) { Console.WriteLine(ex.Message); continue; } Console.WriteLine("Enter n to Exit Application"); if (Console.ReadLine()?.ToLower() != "n") { continue; } break; } Console.WriteLine("Thank You!"); //Console.ReadKey(); }