1
resposta

[Projeto] Calculadora (Minha versão)

Estou querendo se na minha versão da para melhorar o codigo...

    int x, y;
    char operacao;
    Console.Write("Digite o primeiro número: ");
    x = int.Parse(Console.ReadLine()!);

    Console.Write("Digite o primeiro número: ");
    y = int.Parse(Console.ReadLine()!);

    Console.Write("Digite a operação (+, -, *, /): ");
    operacao = char.Parse(Console.ReadLine()!);

    switch (operacao) {

        case '+':
            Console.WriteLine($"Resultado: {x + y}");
            break;

        case '-':
            Console.WriteLine($"Resultado: {x - y}");
            break;

        case '*':
            Console.WriteLine($"Resultado: {x * y}");
            break;

        case '/':
            Console.WriteLine($"Resultado: {x / y}");
            break;

        default:
            Console.WriteLine($"Operação inválida");
            break;
    }
1 resposta

Olá, Bruno!

Parabéns por compartilhar a sua versão da Calculadora. Ficou nítido como você organizou a lógica utilizando o switch-case, o que torna a escolha da operação muito mais limpa e fácil de ler do que se estivesse usando vários blocos de if.

Sua solução está muito bem estruturada para o que o desafio propõe. O uso do char.Parse para identificar o operador e o tratamento de um caso default para entradas inválidas são excelentes práticas para garantir que o programa não fique "perdido" se o usuário digitar algo inesperado.

Para elevar o nível do seu código, existem alguns ajustes que podem torná-lo mais seguro e profissional:

  1. Tratamento da divisão por zero: Atualmente, se o usuário digitar 0 para o segundo número (y) em uma divisão, o programa apresentará um erro e fechará. Você pode adicionar um if dentro do case '/' para verificar isso.
  2. Uso de double ou float: Ao usar int, o resultado de divisões como $5 / 2$ será $2$ (ele descarta as casas decimais). Mudar para double permite resultados mais precisos.
  3. Segurança na conversão (TryParse): Se o usuário digitar uma letra no lugar do número, o programa trava. O método int.TryParse ajuda a validar isso sem interromper a execução.

Na sua visão, você acredita que permitir que o usuário faça vários cálculos sem precisar reiniciar o programa seria uma evolução interessante para o seu projeto?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!