1
resposta

[Projeto] Calculadora de operações básicas

Resolução:

void ExibirTitulo(string titulo)
{
    int totalLetras = titulo.Length;
    string asterisco = string.Empty.PadLeft(totalLetras, '*');
    Console.WriteLine(asterisco);
    Console.WriteLine(titulo);
    Console.WriteLine(asterisco);
}



void Calculadora()
{

    ExibirTitulo("Calculadora!");

    Console.Write("\nDigite o primeiro número: ");
    double num1 = double.Parse(Console.ReadLine()!);

    Console.Write("\nDigite o segundo número: ");
    double num2 = double.Parse(Console.ReadLine()!);

    Console.WriteLine("\nQual operação matemática deseja realizar? (+,  -,  * ou /)");
    char opcao = char.Parse(Console.ReadLine()!);

    double resposta = opcao switch
    {
        '+' => num1 + num2,
        '-' => num1 - num2,
        '*' => num1 * num2,
        '/' => num1 / num2,
        _ => double.NaN
    };

    if (double.IsNaN(resposta))
    {
        Console.Clear();
        Console.WriteLine("Opção Inválida");
        Thread.Sleep(4000);
        Console.Clear();
        Calculadora();
    }
    else
    {
        Console.WriteLine($"O resultado é: {resposta}");
        Thread.Sleep(4000);
        Console.Clear();
        Calculadora();
    }

}

Calculadora();
1 resposta

Oi, Christopher! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei bastante da forma como você organizou o código, separando a exibição do título em um método próprio e utilizando o switch como expressão para calcular o resultado. Isso deixa o código mais limpo e direto, além de mostrar um bom entendimento de estruturas condicionais em C#.

Uma dica interessante para o futuro é validar a entrada do usuário antes de converter, usando o método TryParse, que evita erros caso o usuário digite algo inválido. Veja este exemplo:


string entrada = Console.ReadLine();
double numero;

if (double.TryParse(entrada, out numero))
{
    Console.WriteLine(numero);
}
else
{
    Console.WriteLine("valor invalido");
}

Nesse código, o programa tenta converter o valor digitado; se conseguir, usa o número normalmente, senão exibe uma mensagem de erro, evitando que o programa quebre.

Alura

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