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

[Projeto] Resposta - Refatorando a organização de livros

Console.WriteLine("Digite o código do livro: ");
int codigo = 0;

while (true)
{
    if (int.TryParse(Console.ReadLine(), out codigo))
    {
        string categoriaLivro = codigo switch
        {
            >= 100 and <= 199 => "Ficção Científica",
            >= 200 and <= 299 => "Literatura Clássica",
            >= 300 and <= 399 => "Fantasia",
            >= 400 and <= 499 => "Romance",
            >= 500 and <= 599 => "Suspense/Mistério",
            >= 600 and <= 699 => "Não Ficção",
            >= 700 and <= 799 => "Biografias/Memórias",
            >= 800 and <= 899 => "Distopia",
            >= 900 and <= 999 => "Infantojuvenil",
            _ => "Código inexistente"
        };
        Console.WriteLine(categoriaLivro);
        return;
    }
    else
    {
        Console.WriteLine("Código incorreto, por favor digite um código numérico de 100 a 999");
    }
}
1 resposta
solução!

Oi, Willian! Como vai?

Seu uso do switch com padrões foi muito bem aplicado e tornou o código mais legível. A estrutura dentro do while (true) também garante que o programa só siga adiante com um valor válido.

Uma dica interessante para o futuro é usar o método Trim() ao ler uma entrada com Console.ReadLine(), para evitar espaços indesejados que podem afetar a validação. Veja este exemplo:


string entrada = Console.ReadLine().Trim();

Esse código remove espaços no início e fim da entrada antes de qualquer outra verificação.

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