Olá, como vai? Fiz o primeiro desafio de forma mais completa, da calculadora, de maneira em que são digitados os valores do 1º e 2º número e em seguida é exibido um menu, onde o usuário escolhe a operação que deseja realizar com os números e foram adicionadas mais duas opções: a opção de digitar novos valores para nº 1 e nº 2 e a opção de finalizar o programa. O código está funcionando, porém surgiram algumas dúvidas em relação a ele:
1 - É possível exibir o menu usando apenas uma função "Console.WriteLine()", sem precisar repeti-la para todas as opções do menu?
2 - Seria mais interessante criar uma função para cada opção da calculadora e chama-las dentro da função "ExibirCalculadora()"?
Console.WriteLine("Bem vindo à da calculadora. Para começar, digite os valores do número 1 e número 2:\n ");
Console.Write("Digite o valor para o número 1: ");
float numero1 = float.Parse(Console.ReadLine()!);
Console.Write("Digite o valor para o número 2: ");
float numero2 = float.Parse(Console.ReadLine()!);
void ExibirCalculadora()
{ int opçao = 0;
float resultado = 0;
Console.WriteLine($"\nVocê escolheu os números {numero1} e {numero2}");
Console.WriteLine("\nDigite a opção desejada: \n ");
Console.WriteLine("1: Somar os números");
Console.WriteLine("2: Subtrair os números");
Console.WriteLine("3: Dividir os números");
Console.WriteLine("4: Multiplicar os números");
Console.WriteLine("5: Digitar novos números");
Console.WriteLine("6: Finalizar programa\n");
Console.Write("O que deseja fazer?\n");
opçao = int.Parse(Console.ReadLine()!);
switch (opçao)
{
case 1:
resultado = numero1 + numero2;
Console.Clear();
Console.WriteLine($"\nO resultado da soma entre {numero1} + {numero2} é igual a: {Math.Round(resultado, 2)}");
ExibirCalculadora();
break;
case 2:
resultado = numero1 - numero2;
Console.Clear();
Console.WriteLine($"\nO resultado da subtração entre {numero1} - {numero2} é igual a: {Math.Round(resultado , 2)}");
ExibirCalculadora();
break;
case 3:
resultado = numero1 / numero2;
Console.Clear();
Console.WriteLine($"\nO resultado da divisão entre {numero1} / {numero2} é igual a: {Math.Round(resultado , 2)}");
ExibirCalculadora();
break;
case 4:
resultado = numero1 * numero2;
Console.Clear();
Console.WriteLine($"\nO resultado da multiplicação entre {numero1} X {numero2} é igual a: {Math.Round(resultado , 2)}");
ExibirCalculadora();
break;
case 5:
Console.Clear();
Console.Write("Digite um novo valor para o número 1: ");
numero1 = float.Parse(Console.ReadLine()!);
Console.Write("Digite um novo valor para o número 2: ");
numero2 = float.Parse(Console.ReadLine()!);
ExibirCalculadora();
break;
case 6:
Console.Clear();
Console.WriteLine("Finalizando o programa. Até logo!");
break;
default:
Console.Clear();
Console.WriteLine("Opção inválida! Tente novamente.");
ExibirCalculadora();
break;
}
}
ExibirCalculadora();