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; } }
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++; }