Imagine que você foi contratado para desenvolver um sistema de gerenciamento de livros para uma pequena biblioteca. O sistema deve permitir que o bibliotecário cadastre, pesquise, ordene e gerencie o acervo de 20 livros. Esta tarefa exigirá a aplicação de diversos conceitos fundamentais da linguagem C.
Conceitos a serem aplicados:
Estruturas (Structs): Para armazenar os dados de cada livro (código, título, autor, área, ano e editora).
Constantes: Para definir o tamanho máximo do acervo de 20 livros.
Vetores: Para criar um acervo com capacidade para 20 livros, utilizando um vetor de structs.
Strings: Para manipular os campos de texto como título, autor, área e editora.
Funções: Para modularizar o código, separando a lógica de cada funcionalidade (cadastrar, imprimir, pesquisar, ordenar).
Estruturas de Repetição: Para percorrer o vetor de livros durante o cadastro, a impressão e a ordenação.
Estruturas Condicionais: Para criar um menu de opções e tomar decisões lógicas, como verificar se um livro foi encontrado na pesquisa.
Entrada e Saída de Dados: Para interagir com o usuário, recebendo dados do teclado e exibindo resultados na tela.
Funções Intrínsecas: Para operações de manipulação de strings (por exemplo, strcmp para comparar nomes) e outras utilidades.
Arquivos (Opcional - desafio extra): Para armazenar o acervo de forma persistente, lendo os dados de um arquivo ao iniciar o programa e salvando-os ao encerrar.
Dado o contexto, seguem as etapas que precisarão cumprir na atividade: