// Refatorando a organização de livros (sistema de catalogação)
// catálogo
var catalogo = new Dictionary<string, Dictionary<string, string>>
{
{ "Ficção Científica", new Dictionary<string, string>
{
{ "10", "Duna" }
}
},
{ "Literatura Clássica", new Dictionary<string, string>
{
{ "20", "Dom Quixote" }
}
},
{ "Fantasia", new Dictionary<string, string>
{
{ "30", "O Senhor dos Anéis" }
}
},
{ "Romance", new Dictionary<string, string>
{
{ "40", "Orgulho e Preconceito" }
}
},
{ "Suspense/Mistério", new Dictionary<string, string>
{
{ "50", "O Assassinato de Roger Ackroyd" }
}
},
{ "Não ficção", new Dictionary<string, string>
{
{ "60", "Sapiens: Uma Breve História da Humanidade" }
}
},
{ "Biografias/Memórias", new Dictionary<string, string>
{
{ "70", "O Diário de Anne Frank" }
}
},
{ "Distopia", new Dictionary<string, string>
{
{ "80", "1984” – George Orwell" }
}
},
{ "Infantojuvenil", new Dictionary<string, string>
{
{ "90", "Harry Potter e a Pedra Filosofal" }
}
},
};
// função que exibe as opções sistema de catalogação
void ExibirMenu()
{
Console.Clear();
Console.WriteLine("Bem vindo ao Catálogo Biblioteca Universitária.\n");
Console.WriteLine("Exibir todos os livros registrados - 1");
Console.WriteLine("Registrar um novo livro - 2");
Console.WriteLine("Pesquisar um livro - 3");
Console.WriteLine("Sair - 4");
Console.Write("\nInforme a opção desejada: ");
byte opcao = ValidacaoNumerica();
AcoesDoMenu(opcao);
}
// função que controla o fluxo do menu
void AcoesDoMenu(byte opcaoEscolhida)
{
switch (opcaoEscolhida)
{
case 1: ExibirCatalogo(); break;
case 2: RegistrarLivro(); break;
case 3: FiltrarLivro(); break;
case 4: EncerrarSistema(); break;
default: throw new InvalidOperationException("Valor inesperado recebido.");
}
}