Pular para conteúdo

Aula 16 - Projeto Final 🎓

Chegamos ao fim da nossa jornada! Esta aula é dedicada ao desenvolvimento e consolidação de tudo o que aprendemos em uma aplicação completa e profissional.


🎯 Objetivo do Projeto

Desenvolver uma aplicação C++ que demonstre domínio em: - Organização modular (.h / .cpp) - Orientação a Objetos (Classes, Herança) - STL (Vectors, Maps, Algoritmos) - Persistência de Dados (Arquivos) - Gestão de Memória (Smart Pointers)


💡 Sugestões de Temas

1. Sistema Bancário Profissional 💰

  • Cadastro de clientes e contas.
  • Operações de saque, depósito e transferência.
  • Histórico de transações salvo em arquivo.
  • Uso de herança para contas Poupança e Corrente.

2. Gerenciador de Tarefas (Task Manager) ✅

  • Adicionar, remover e marcar tarefas como concluídas.
  • Filtros por prioridade ou data.
  • Interface de terminal organizada (ASCII Art).
  • Armazenamento em CSV ou JSON.

3. Sistema de Cadastro de Biblioteca 📚

  • Gestão de livros, autores e empréstimos.
  • Busca inteligente usando algoritmos da STL.
  • Controle de estoque e devoluções.

🛠️ Requisitos Técnicos

Checklist de Entrega

  • [ ] Uso obrigatório de pelo menos uma Classe com Encapsulamento.
  • [ ] Uso de STL (std::vector ou std::map).
  • [ ] Persistência de dados em arquivo externo.
  • [ ] Código devidamente comentado em PT-BR.
  • [ ] Projeto compilável via CMake ou script de build.

🏗️ Estrutura de Pastas Recomendada

/projeto-final
├── /include       <- Arquivos de Cabeçalho (.h)
├── /src           <- Implementação (.cpp)
├── /data          <- Arquivos de persistência (.txt, .csv)
├── CMakeLists.txt <- Script de build
└── README.md      <- Documentação do projeto

📝 Documentação do Projeto

Um bom desenvolvedor também sabe documentar. Seu README.md deve conter: 1. Nome do Projeto 2. Como Executar (Passo a passo do build) 3. Funcionalidades (O que o sistema faz) 4. Tecnologias Utilizadas


🚀 Considerações Finais

Parabéns por completar o curso de Sistemas com C++! Você agora possui as ferramentas necessárias para desenvolver sistemas robustos, performáticos e modernos.

O Caminho Continua

Aprender uma linguagem é um processo contínuo. Explore bibliotecas como Qt (para interfaces gráficas) ou Boost para funcionalidades ainda mais avançadas.


🎨 Apresentação

Prepare uma breve demonstração do seu código funcionando, explicando as escolhas arquiteturais que você fez e como resolveu os principais desafios técnicos. Bom código!