1
resposta

Resposta Conversor de temperatura

int escolha;

do
{
    Console.WriteLine("1 - Celsius para Fahrenheit");
    Console.WriteLine("2 - Fahrenheit para Celsius");
    Console.WriteLine("3 - Sair");
    Console.Write("\nEscolha uma opção: ");
    escolha = int.Parse(Console.ReadLine());

    switch (escolha)
    {
        case 1:
            Console.Write("\nDigite a temperatura em Celsius: ");
            string valorEmCelsius = Console.ReadLine()!;
            double valorEmCelsiusNumerico = double.Parse(valorEmCelsius);
            double temperaturaEmF = (valorEmCelsiusNumerico * 9 / 5) + 32;
            Console.WriteLine($"\n{valorEmCelsiusNumerico}ºC equivalem a {temperaturaEmF}°F\n");
            break;

        case 2:
            Console.Write("\nDigite a temperatura em Fahrenheit: ");
            string valorEmFahrenheit = Console.ReadLine()!;
            double valorEmFahrenheitNumerico = double.Parse(valorEmFahrenheit);
            double temperaturaEmC = (valorEmFahrenheitNumerico - 32) * 5/9;
            Console.WriteLine($"\n{valorEmFahrenheitNumerico}ºF equivalem a {temperaturaEmC}°C\n");
            break;
        case 3:
            Console.WriteLine("Saindo ...");
            break;
        default:
            Console.WriteLine("Opção Invalida!\n");
            break;

    }


} while (escolha != 3);
1 resposta

Oi, Philip! Como vai?

Com o que você descreveu, gostei de como você organizou o switch e manteve o do/while claro para repetir o menu até a saída. Sua lógica de conversão está direta e funcionando bem.

Uma dica interessante para o futuro é usar double.TryParse para evitar erro quando o usuário digita algo que não é numero. Veja este exemplo:


double valor;
bool deuCerto = double.TryParse("10", out valor);
Console.WriteLine(deuCerto);

Esse código tenta converter o texto e evita quebra caso o usuário digite algo invalido.

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