Aula 15 – Projeto Prático Integrador 🚀
Chegamos ao ponto alto do nosso curso! Nesta aula, não aprenderemos um conceito novo, mas sim como Integrar tudo o que vimos até aqui: Variáveis, Condicionais, Laços, Vetores, Funções, Structs e Arquivos.
🏗️ 1. O Desafio: Sistema de Gestão de Biblioteca
Vamos construir um sistema que permita:
1. Cadastrar Livros em uma struct.
2. Salvar os livros em um arquivo .txt para não perdê-los.
3. Listar os livros cadastrados lendo diretamente do disco.
4. Organizar o código em funções para manter o main limpo.
🗂️ 2. A Estrutura do Dado
🛠️ 3. A Lógica de Persistência
Nosso programa terá uma função void salvarLivro(Livro l) que abre o arquivo em modo "a" (append) e grava os dados, e uma função void listarLivros() que lê o arquivo até o fim (feof).
void salvarLivro(Livro l) {
FILE *f = fopen("biblioteca.db", "a");
if (f == NULL) return;
fprintf(f, "%s;%s;%d\n", l.titulo, l.autor, l.ano);
fclose(f);
}
🖥️ 4. O Menu Principal
O main funcionará como um maestro, apenas direcionando o usuário para as funções corretas.
int main() {
int opcao;
do {
printf("1. Cadastrar | 2. Listar | 0. Sair: ");
scanf("%d", &opcao);
// ... switch case chamando as funções ...
} while (opcao != 0);
return 0;
}
💻 Desenvolvimento Passo a Passo
- Criação da Struct: Definir quais dados são necessários.
- Interface CLI: Criar o loop principal com o menu.
- Implementação das Funções: Começar pela escrita e depois a leitura.
- Testes: Cadastrar, fechar o programa, abrir de novo e listar.
🚀 O que vem a seguir?
Este projeto é o protótipo do que você encontrará no mercado: sistemas que recebem dados, processam regras de negócio e salvam em algum lugar.
📝 Atividade da Aula
Siga o roteiro acima e construa o seu MinosSGB (Sistema de Gestão de Biblioteca). Sinta-se livre para adicionar novos campos, como "Preço" ou "Gênero".