static void Main(string[] args) { stack = new Stack(); adder = new Operators.Adder(); subtractor = new Operators.Subtructor(); multiplier = new Operators.Multiplier(); divider = new Operators.Divider(); resultPresenter = new Operators.ResultPresenter(); CalculatorApp calculator = new CalculatorApp(stack, adder, subtractor, divider, multiplier, resultPresenter); }
public CalculatorApp(Stack stack, Operators.Adder adder, Operators.Subtructor subtructor, Operators.Divider divider, Operators.Multiplier multiplier, Operators.ResultPresenter resultPresenter) { // console version Console.WriteLine("Welcome to RPN Calculator in C sharp.\nPlease enter a string in the manner shown:\n1 (Enter) 5 (Enter) + (Enter)."); Console.WriteLine("To finish your expression just type EXT."); while ((expression = Console.ReadLine()) != "EXT") { switch (expression) { case "+": adder.operate(stack); break; case "-": subtructor.operate(stack); break; case "/": divider.operate(stack); break; case "*": multiplier.operate(stack); break; default: if (int.TryParse(expression, out number)) { stack.Push(number); } else { continue; } break; } } Console.WriteLine("The result is:\t"); foreach (Object element in stack) // must be one if correct { Console.Write(element); } }