2
respostas

Conversor de temperatura

void ConversorDeTemperatura()
{
    int fahrenheit;
    int celsius;

    while (true)
    {
        Console.WriteLine("1 - Celsius para Fahrenheit");
        Console.WriteLine("2 - Fahrenheit para Celsius");
        Console.WriteLine("3 - Sair");
        string entrada1 = Console.ReadLine();

        if (!int.TryParse(entrada1, out int saida1) || (saida1 < 1 || saida1 > 3))
        {
            Console.WriteLine("\nEscolha uma das opções disponíveis\n");
            continue;
        }
        if (saida1 == 1)
        {
            Console.Write("Digite a temperatura em Celsius: ");
            string entrada2 = Console.ReadLine();

            if (!int.TryParse(entrada2, out int saida2))
            {
                Console.Write("Digite a temperatura usando números: ");
            }
            else
            {
                fahrenheit = (saida2 * 9 / 5) + 32;
                Console.WriteLine($"{saida2}°C equivalem a {fahrenheit}°F");
                continue;
            }
        }
        if (saida1 == 2)
        {
            Console.Write("Digite a temperatura em Fahrenheit: ");
            string entrada2 = Console.ReadLine();

            if (!int.TryParse(entrada2, out int saida2))
            {
                Console.Write("Digite a temperatura usando números: ");
            }
            else
            {
                celsius = (saida2 - 32) * 5 / 9;
                Console.WriteLine($"{saida2}°C equivalem a {celsius}°F");
                continue;
            }
        }
        if (saida1 == 3)
        {
            Console.WriteLine("Encerrando o sistema");
            break;
        }
    }
}
ConversorDeTemperatura();
2 respostas

Olá, Pedro! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de estruturas de repetição para criar um menu interativo com C#, utilizou muito bem o tratamento de entrada para validar os dados e ainda compreendeu a importância do controle de fluxo para organizar as opções do programa.

Uma dica interessante para o futuro é permitir valores decimais usando double em vez de int. Assim:

double celsius = (saida2 - 32) * 5.0 / 9.0;

Isso faz com que o cálculo seja mais preciso, evitando arredondamentos indesejados.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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

Obrigado pelo feedback!