Pular para conteúdo

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

typedef struct {
    char titulo[50];
    char autor[30];
    int ano;
} Livro;

🛠️ 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

  1. Criação da Struct: Definir quais dados são necessários.
  2. Interface CLI: Criar o loop principal com o menu.
  3. Implementação das Funções: Começar pela escrita e depois a leitura.
  4. 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".


Próxima Aula: Boas Práticas e Encerramento