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

Refatorando a organização de livros

void ResultadoFinal()
{
    Console.Write("Digite o código do livro: ");
    string entrada = Console.ReadLine()!;

    if (!int.TryParse(entrada, out int codigo))
    {
        Console.WriteLine("Inválido! Tente novamente");
        return;
    }

    int codigoFinal = codigo / 100;

    string saida = codigoFinal switch
    {
        1 => "Ficção Científica",

        2 => "Literatura Clássica",
        
        3 => "Fantasia",

        4 => "Romance",

        5 => "Suspense/Mistério",

        6 => "Não ficção",

        7 => "Biografias/Memórias",

        8 => "Distopia",

        9 => "Infantojuvenil",

        _ => null!

    };
    if (saida is null)
    {
        Console.WriteLine("Inválido! Tente novamente");
    }
    else
    {
        Console.WriteLine($"{saida}");
    }

}
ResultadoFinal();
1 resposta
solução!

Olá, Pedro, como vai?

O seu código demonstra um excelente uso da lógica matemática ao realizar a divisão inteira por 100 para isolar o primeiro dígito do código do livro. Essa abordagem simplifica drasticamente as verificações de intervalo, tornando a estrutura do switch expression muito mais limpa e eficiente do que uma sucessão de condicionais manuais. A implementação do TryParse também é uma ótima prática de defesa, garantindo que o programa não encerre abruptamente caso o usuário insira caracteres não numéricos.

Parabéns pela excelente refatoração e pela organização do código enviado. Continue compartilhando suas resoluções conosco para fortalecer o aprendizado da comunidade e lembre-se que o fórum está a disposição.

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