Пример #1
0
        static void Main(string[] args)
        {
            //Welcome to Calculator
            Console.WriteLine("Hello user! Welcome to calculator.");
Start:
            Console.WriteLine("Enter your operation (for instance: 2 + 2):");

            //Read user's input
            string userInput = Console.ReadLine();

            //Validate user's input
Error:
            while (string.IsNullOrEmpty(userInput) || Regex.IsMatch(userInput, anyLetter) ||
                   string.IsNullOrWhiteSpace(userInput) ||
                   Operations.getOperand(userInput) == ' ')
            {
                Console.WriteLine();

                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Input is incorrect, enter 2 numbers with operations: " +
                                  "\nMultiplication: *\nAddition: +\nDivision: /\nSubstraction: -");

                Console.ResetColor();

                Console.WriteLine("Enter your operation (for instance: 2 + 2):");
                userInput = Console.ReadLine();
            }

            //Get user's operation
            char operand = Operations.getOperand(userInput);

            //Get user's numbers
            string[] numbers = Operations.getNumbers(userInput, operand);
            //Get user's first number
            decimal number1 = Operations.getNumber(numbers[0]);
            //Get user's Second number
            decimal number2 = Operations.getNumber(numbers[1]);

            //Check that we do not divide by 0
            if (number2 == 0)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("You cannot divide on zero");
                userInput = null;
                goto Error;
            }

            //Do calculation with numbers
            if (number1 != decimal.MinValue && number2 != decimal.MinValue)
            {
                Console.WriteLine("Answer is: {0}", Operations.Calc(number1, number2, operand));
                Console.WriteLine();
                Console.WriteLine("If you want to continue calculations, press Enter");
                if (Console.ReadKey(true).Key == ConsoleKey.Enter)
                {
                    goto Start;
                }
            }
            else
            {
                userInput = null;
                goto Error;
            }
            Console.WriteLine("Thank you for using calculator. Bye!");
        }