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::vectoroustd::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!