Controle de Estoque CLI: Persistência de Dados, Tabelas Hash e Parsing em C++ 📦📄
Desenvolver um sistema de controle de estoque voltado para uso prático exige ir além da simples exibição no terminal, focando em garantir a integridade dos dados e uma interface de uso ágil e inteligente. Nesta implementação em C++, foquei na criação de um software utilitário com recursos avançados de manipulação de dados: - Mapeamento em Tabela Hash (Busca O(1)): utilizei std::unordered_map para associar produtos às suas quantidades. Essa estrutura permite realizar inserções, buscas e atualizações de estoque com complexidade de tempo constante, independente do volume de produtos. - Parsing de Frases em Linguagem Natural: implementei um interpretador baseado em std::stringstream capaz de ler frases em texto livre (ex: "comprei 15 teclados e vendi 2 mouses"). O sistema identifica palavras-chave de ação ("comprei", "vendi"), extrai quantidades numéricas e atualiza o estoque automaticamente. - Persistência em ArquivosTexto (File I/O): projetei rotinas de gravação e leitura utilizando std::ofstream e std::ifstream. Toda modificação no estoque é sincronizada em tempo de execução com arquivos .txt no disco local, mantendo o histórico salvo entre sessões. - Tratamento Inteligente de Strings (Singular/Plural): desenvolvi a função verifica_palavra, que analisa erros de digitação e variações de singular/plural (comparações com remoção ou adição de sufixos 's') para reconhecer produtos equivalentes no estoque. - Sistema de Lixeira Lógica e Restauração: implementei um fluxo de exclusão segura onde os produtos removidos são transferidos para uma estrutura temporária (produtos_excluidos), permitindo que o usuário restaure itens excluídos acidentalmente sem perda de dados.




