Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvidas em relação ao primeiro desafio

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();
1 resposta
solução!
  1. Sim, você pode fazer um Console.WriteLine, é só adicionando \n dentro da string, ele pula a linha. Console.WriteLine("\nDigite a opção desejada: \n 1: Somar os números \n 2: Subtrair os números \n...");
  2. Com certeza, é uma boa prática, porque nos projetos maiores você irá ver isso: switch case que entra num método que faz de acordo com o case.