Ejemplo n.º 1
0
        public void EvaluateUserInput(int v1, int v2, char op)
        {
            stack.SetLastExpression(v1, v2, op);
            switch (op)
            {
            case '+':
                Add add = new Add();
                ResultFromEval = add.Operate(v1, v2);
                break;

            case '-':
                Subtract sub = new Subtract();
                ResultFromEval = sub.Operate(v1, v2);
                break;

            case '/':
                Divide div = new Divide();
                ResultFromEval = div.Operate(v1, v2);
                break;

            case '*':
                Multiply mul = new Multiply();
                ResultFromEval = mul.Operate(v1, v2);
                break;

            case '%':
                Modulus mod = new Modulus();
                ResultFromEval = mod.Operate(v1, v2);
                break;

            default:
                break;
            }
        }
Ejemplo n.º 2
0
        public void HandleInput(string input)
        {
            switch (input)
            {
            case "exit":
            case "quit":
            {
                Console.WriteLine("Bye!");
                Console.ReadKey();
                Environment.Exit(0);
                break;
            }

            case "last":
            {
                Console.WriteLine(stack.LastAnswer);
                break;
            }

            case "lastp":
            {
                Console.WriteLine(stack.LastExpression);
                break;
            }

            default:
                if (!Constants.IsInputANewConst(input))
                {
                    exp.CheckIfUserInputIsValid(input);
                    eval.EvaluateUserInput(exp.Value_1, exp.Value_2, exp.Operator);
                    if (exp.IsValidInput)
                    {
                        Console.WriteLine(string.Format("{0} {1}", AnswerPrefix(), eval.ResultFromEval));
                        stack.SetLastExpression(exp.Value_1, exp.Value_2, exp.Operator);
                        stack.SetLastAnswer(eval.ResultFromEval);
                    }
                    else
                    {
                        Console.WriteLine(ErrorMessages.InvalidFormat());
                    }
                }
                break;
            }
            PromptCounter++;
        }