// loopCalculator Function is used to recieve continual input from user until Ctrl+C is pressed. public static void loopCalculator(operationsCalculator newCalculator) { while (true) { Console.Write("Enter String\n"); String subjectString = Console.ReadLine(); // The Initialize Function triggers the prompt that allows you to set the contraints of // the allowNegatives , set UpperBound, and custom Delimiters newCalculator.initialize(subjectString); newCalculator.results(); Console.WriteLine("Do you want to change settings(Upper Bound, Allow Negatives, Alternate Set Delimiters)?[y/n] \nType 'exit' to try a different caluclator!"); subjectString = Console.ReadLine(); while (!(subjectString == "y" || subjectString == "n" || subjectString == "exit")) { Console.WriteLine("Invalid input. Please Try again. Do you want to Change Settings? (y/n)\nIf you want to try a different Calculator type 'exit'."); subjectString = Console.ReadLine(); } if (subjectString == "y") { newCalculator.change(); } else if (subjectString == "exit") { break; } } }
public static void Main(string[] args) { operationsCalculator newCalculator; while (true) { do { Console.WriteLine("Please Enter in the Symbol for the calculator you'd like to use:"); Console.WriteLine("+ : Addition \n- : Subtration \n* : Multiplication \n/ : Division"); // Operations Case. OperationsCalculator changes depending on input. String input = Console.ReadLine(); switch (input) { case "+": newCalculator = new operationsCalculator(); newCalculator.changeOperator('+'); loopCalculator(newCalculator); break; case "-": newCalculator = new operationsCalculator(); newCalculator.changeOperator('-'); loopCalculator(newCalculator); break; case "*": newCalculator = new operationsCalculator(); newCalculator.changeOperator('*'); loopCalculator(newCalculator); break; case "/": newCalculator = new operationsCalculator(); newCalculator.changeOperator('/'); loopCalculator(newCalculator); break; default: break; } }while(true); } }