Olá, Giseli. Como vai?
O seu código para o desafio do conversor de moedas está correto e funcional. Você aplicou muito bem a lógica de capturar a entrada do usuário, converter para o tipo numérico adequado e realizar o cálculo matemático da conversão.
Para enriquecer ainda mais o seu aprendizado e trazer boas práticas de programação em C#, quero sugerir duas melhorias importantes para o seu código: validação de dados e formatação de saída.
1. Evitando quebras com int.TryParse ou double.TryParse
Do jeito que o código está, se o usuário digitar uma letra por engano ou deixar o espaço em branco, o método double.Parse vai lançar um erro e fechar o programa inesperadamente. No dia a dia do desenvolvimento, usamos o double.TryParse, que tenta converter o texto e, se não conseguir, avisa o programa sem quebrar a aplicação.
2. Formatando os valores monetários
Quando trabalhamos com moedas, é uma excelente prática exibir os valores formatados com duas casas decimais. No C#, podemos fazer isso usando a interpolação de strings com o formatador :F2 ou :C (que adiciona o símbolo da moeda local).
Veja como o seu código pode ficar mais robusto e profissional com essas implementações:
Console.WriteLine("Digite o valor em real: ");
if (!double.TryParse(Console.ReadLine(), out double real))
{
Console.WriteLine("Por favor, digite um valor numérico válido.");
return;
}
Console.WriteLine("Digite a taxa de câmbio: ");
if (!double.TryParse(Console.ReadLine(), out double cambio) || cambio == 0)
{
Console.WriteLine("Taxa de câmbio inválida. O valor não pode ser texto ou zero.");
return;
}
double dolar = real / cambio;
// O uso do :F2 garante exatamente duas casas decimais no resultado
Console.WriteLine($"O valor de R$ {real:F2} convertido em dólar é: U$ {dolar:F2}");
- Criamos uma verificação simples para impedir também a divisão por zero, que causaria um erro matemático no cálculo da taxa.
- Utilizamos a interpolação de texto (
$""), que deixa a leitura do Console.WriteLine muito mais limpa do que concatenar usando o operador +.
Parabéns por concluir o desafio e continuar praticando a lógica de programação.
Espero que possa ter lhe ajudado!