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

Conversor de temperatura

void CelToFah(decimal temperaturaCelsius) {
    decimal temperaturaFahrenheit = (temperaturaCelsius * 9 / 5) + 32;
    Console.WriteLine ($"A temperatura de {Math.Round(temperaturaCelsius, 1)}°C equivale a {Math.Round(temperaturaFahrenheit, 1)}°F");
    Console.ReadKey();
}
void FahToCel(decimal temperaturaFahrenheit) {
    decimal temperaturaCelsius = (temperaturaFahrenheit - 32) * 5 / 9;
    Console.WriteLine ($"A temperatura de {Math.Round(temperaturaFahrenheit, 1)}°F equivale a {Math.Round(temperaturaCelsius, 1)}°C");
    Console.ReadKey();
}

decimal temperatura = 0;
int opcao;

do {
    Console.Clear();
    Console.WriteLine ("===============================");
    Console.WriteLine ("   CONVERSOR DE TEMPERATURAS   ");
    Console.WriteLine ("===============================");
    Console.WriteLine ("1. Celsius para Fahrenheit");
    Console.WriteLine ("2. Fahrenheit para Celsius");
    Console.WriteLine ("3. Sair");
    Console.Write ("Escolha uma opção: ");
    int.TryParse(Console.ReadLine()!, out opcao);
    if (opcao == 1 || opcao == 2) {
        Console.Write ("Digite a temperatura: ");
        decimal.TryParse(Console.ReadLine()!, out temperatura);
    }

    switch (opcao) {
        case 1: CelToFah(temperatura); break;
        case 2: FahToCel(temperatura); break;
        case 3: Console.WriteLine("Encerrado o programa."); break;
        default: Console.WriteLine("Opção inválida."); Console.ReadKey(); break;
    }
} while (opcao != 3);
1 resposta
solução!

Oi, Diego! Como vai?

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

Achei interessante como você organizou o programa separando as conversões em dois métodos (CelToFah e FahToCel). Isso deixa o código mais limpo e fácil de manter. Também foi uma boa escolha usar decimal para trabalhar com temperaturas e aplicar Math.Round para mostrar os valores arredondados na saída, o que melhora bastante a apresentação do resultado para quem usa o programa.

Uma dica interessante para o futuro é usar ToString() com formatação para controlar quantas casas decimais aparecem no resultado. Veja este exemplo:



decimal temperatura = 23.456m;
Console.WriteLine(temperatura.ToString("F1"));

O ToString("F1") formata o número para exibir apenas uma casa decimal, o que pode deixar a exibição dos resultados ainda mais organizada em programas que trabalham com medidas.

Alura

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