1
resposta

[Projeto] Conversor de temperatura

Resolução:


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

int opcao;

do
{
    ExibirTitulo("Conversor de temperaturas!!");
    Console.WriteLine($"\n1 - Celsius para Fahrenheit\n" +
        $"2 - Fahrenheit para Celsius\n" +
        $"3 - Sair\n");

    Console.Write("Digite sua escolha: ");
    opcao = int.Parse(Console.ReadLine()!);


    switch (opcao)
    {
        case 1:
            Console.Clear();
            Console.Write("Digite a temperatura em celsius: ");
            double celsius = double.Parse(Console.ReadLine()!);
            double fahrenheit = (celsius * 9 / 5) + 32;
            Console.WriteLine($"{celsius}°C equivalem a {fahrenheit}°F");
            Thread.Sleep(4000);
            Console.Clear();
            break;
        case 2:
            Console.Write("Digite a temperatura em Fahrenheit: ");
            double fahrenheits = double.Parse(Console.ReadLine()!);
            double celciuss = (fahrenheits - 32) * 5 / 9;
            Console.WriteLine($"{fahrenheits}°F equivalem a {celciuss}°C");
            Thread.Sleep(4000);
            Console.Clear();

            break;
        case 3:
            Console.WriteLine("Saindo...");
            break;
        default:
            Console.WriteLine("Opção inválida!");
            Thread.Sleep(4000);
            Console.Clear();
            break;
    }


} while (opcao != 3);
1 resposta

Olá, Christopher! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o switch para controlar opções com C#, utilizou muito bem o Thread.Sleep para dar pausa entre execuções e ainda compreendeu a importância do Console.Clear para manter a interface organizada durante o fluxo do programa.

Uma dica interessante para o futuro é aplicar o Math.Round para limitar casas decimais nas conversões de temperatura. Assim:

double fahrenheit = Math.Round((celsius * 9 / 5) + 32, 2);
Console.WriteLine($"{celsius}°C equivalem a {fahrenheit}°F");

Isso faz com que os resultados sejam exibidos com duas casas decimais, deixando a saída mais clara e profissional.

Conteúdos relacionados

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

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!