static void Main(string[] args) { PrimitiveCalculator calculator = new PrimitiveCalculator(); while (true) { var input = Console.ReadLine().Split(); if (input[0] == "End") { break; } if (input[0] == "mode") { string mode = input[1]; ICalculatorStrategy strategy = GetCalculatorStrategy(mode); calculator.ChangeStrategy(strategy); continue; } int firstOperand = int.Parse(input[0]); int secondOperand = int.Parse(input[1]); int result = calculator.PerformCalculation(firstOperand, secondOperand); Console.WriteLine(result); } }
static void Main(string[] args) { PrimitiveCalculator calculator = new PrimitiveCalculator(new AdditionStrategy()); string input; while ((input = Console.ReadLine()) != "End") { string[] tokens = input.Split(); string command = tokens[0]; if (command == "mode") { char operand = tokens[1][0]; ICalculationStrategy strategy = null; switch (@operand) { case '+': strategy = new AdditionStrategy(); break; case '-': strategy = new SubtractionStrategy(); break; case '*': strategy = new MultiplicationStrategy(); break; case '/': strategy = new DivisionStrategy(); break; } if (strategy == null) { throw new ArgumentException("Invalid mode!"); } calculator.ChangeStrategy(strategy); } else { int firstOperand = int.Parse(tokens[0]); int secondOperand = int.Parse(tokens[1]); int result = calculator.PerformCalculation(firstOperand, secondOperand); Console.WriteLine(result); } } }
public static void Main() { PrimitiveCalculator calculator = new PrimitiveCalculator(); string[] input; while ((input = Console.ReadLine().Split())[0] != "End") { if (input[0] == "mode") { calculator.ChangeStrategy(input[1][0]); } else { int result = calculator.PerformCalculation(int.Parse(input[0]), int.Parse(input[1])); Console.WriteLine(result); } } }
public static void Main() { string[] input = Console.ReadLine().Split(); var calc = new PrimitiveCalculator(); while (input[0] != "End") { if (input[0] == "mode") { calc.ChangeStrategy(char.Parse(input[1])); } else { Console.WriteLine(calc.PerformCalculation(int.Parse(input[0]), int.Parse(input[1]))); } input = Console.ReadLine().Split(); } }
static void Main(string[] args) { var calculator = new PrimitiveCalculator(); while (true) { string line = Console.ReadLine(); if (line == "End") { break; } if (string.IsNullOrWhiteSpace(line)) { continue; } var inputs = line.Split(' '); try { if (inputs[0] == "mode") { calculator.ChangeStrategy(inputs[1][0]); } else { int firstOperand = int.Parse(inputs[0]), secondOperand = int.Parse(inputs[1]); int result = calculator.PerformCalculation(firstOperand, secondOperand); Console.WriteLine(result); } } catch (Exception ex) { Console.WriteLine(ex.Message); } } Console.ReadKey(); }
static void Main(string[] args) { PrimitiveCalculator calculator = new PrimitiveCalculator(new AdditionStrategy()); string command; while ((command = Console.ReadLine()) != "End") { var input = command.Split(); if (input[0] == "mode") { var strategyType = input[1]; switch (strategyType) { case "+": calculator.ChangeStrategy(new AdditionStrategy()); break; case "-": calculator.ChangeStrategy(new SubtractionStrategy()); break; case "*": calculator.ChangeStrategy(new MultiplicationStrategy()); break; case "/": calculator.ChangeStrategy(new DivisionStrategy()); break; } } else { int firstNum = int.Parse(input[0]); int secondNum = int.Parse(input[1]); Console.WriteLine(calculator.PerformCalculation(firstNum, secondNum)); } } }
public static void Main() { PrimitiveCalculator calculator = new PrimitiveCalculator(); while (true) { string[] input = Console.ReadLine().Split(); if (input[0] == "End") { break; } else if (input[0] == "mode") { calculator.ChangeStrategy(input[1][0]); } else { Console.WriteLine(calculator.PerformCalculation(int.Parse(input[0]), int.Parse(input[1]))); } } }
public static void Main() { PrimitiveCalculator calculator = new PrimitiveCalculator(new AdditionStrategy()); string[] input = Console.ReadLine().Split(); while (!input[0].Equals("End")) { if (input[0].Equals("mode")) { calculator.ChangeStrategy(char.Parse(input[1])); } else { int firstNum = int.Parse(input[0]); int secondNum = int.Parse(input[1]); Console.WriteLine(calculator.PerformCalculation(firstNum, secondNum)); } input = Console.ReadLine().Split(); } }
static void Main(string[] args) { var calculator = new PrimitiveCalculator(GenerateStrategyMap()); var input = ""; while ((input = Console.ReadLine()) != "End") { if (input.StartsWith("mode")) { var strategy = input.Split()[1][0]; calculator.ChangeStrategy(strategy); } else { var numbers = input.Split().Select(int.Parse).ToArray(); var result = calculator.PerformCalculation(numbers[0], numbers[1]); Console.WriteLine(result); } } }