Example #1
0
        private BaseOperation OperationFactory(string operation)
        {
            BaseOperation resultOperation = null;

            switch (operation)
            {
            case ("+"):
                resultOperation = new Addition();
                break;

            case ("-"):
                resultOperation = new Subtraction();
                break;

            case ("*"):
                resultOperation = new Multiplication();
                break;

            case ("/"):
                resultOperation = new Division();
                break;

            default:
                throw new InvalidInputException("Operation you entered is not recognized. Please, try again");
            }
            return(resultOperation);
        }
Example #2
0
        public void SetInputsForMathOperation(BaseOperation operation)
        {
            double input_1;
            double input_2;

            if (UseLastValue)
            {
                operation.A = LastResult;
            }
            else
            {
                try
                {
                    input_1 = GetOperand("Input 1st number: ");
                }
                catch (InvalidInputException e)
                {
                    Console.WriteLine(e.Message);
                    input_1 = GetOperand("Input 1st number: ");
                }
                operation.A = input_1;
            }

            try
            {
                input_2 = GetOperand("Input 2nd number: ");
            }
            catch (InvalidInputException e)
            {
                Console.WriteLine(e.Message);
                input_2 = GetOperand("Input 2nd number: ");
            }
            operation.B = input_2;
        }