Example #1
0
        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);
            }
        }
Example #2
0
        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();
        }