static void Main(string[] args) { string inputNumOne, inputNumTwo, inputOperator; //Variáveis do programa Calculator Calc = new Calculator(); //Declarando Calculadora while (true) { Console.Clear(); Calc.printStart(); Calc.printHistory(); //Imprime histórico, se existente Console.WriteLine("Para começar, digite a operação desejada:"); Console.WriteLine("Operações disponíveis:\n + (Soma), - (Subtração), / (Divisão)\n * (Multiplicação), ^ (Potêcia)\n % (Resto da Divisão)"); Console.WriteLine("Digite . para encerrar o programa"); do { Console.Write("Digite a opção desejada: "); inputOperator = Console.ReadLine(); //Recebendo operador } while (!Calc.checkOperator(inputOperator)); //Validação do operador if (inputOperator == ".") //Verifica se operador é '.': encerra o programa { return; } do { Console.Write("Digite o primeiro número: "); inputNumOne = Console.ReadLine(); //Recebendo primeiro número } while (!Calc.checkNumber(inputNumOne)); //Validação do primeiro número do { Console.Write("Digite o segundo número: "); inputNumTwo = Console.ReadLine(); //Recebendo segundo número } while (!Calc.checkNumber(inputNumTwo)); //Validação do segundo número if (inputOperator == "/" && inputNumTwo == "0") //Verifica se existe divisão por 0 { Console.Clear(); Console.WriteLine("Não é possível dividir por ZERO! - Encerrando programa."); } else { //Realiza o cálculo e apresenta o resultado Console.WriteLine("O resultado da operação é:"); Console.WriteLine(inputNumOne + " " + inputOperator + " " + inputNumTwo + " = " + Calc.calcOperation(Convert.ToDecimal(inputNumOne), Convert.ToDecimal(inputNumTwo), inputOperator)); } //Adiciona valore ao histórico dentro da classe Calc.histNumOne.Add(Convert.ToDecimal(inputNumOne)); Calc.histNumTwo.Add(Convert.ToDecimal(inputNumTwo)); Calc.histOperator.Add(inputOperator); Calc.sessionID += 1; Console.WriteLine("Digite qualquer coisa para continuar na Calculadora\nDigite . para encerrar o programa"); inputOperator = Console.ReadLine(); //Reutilizando variável para dar continuidade ao programa. if (inputOperator == ".") //Verifica se operador é '.': encerra o programa { return; } } }