Sistema de Controle de Estoque

Descrição

Este projeto foi desenvolvido como parte de uma disciplina de "Programação com Python". O projeto consiste em um sistema de controle de estoque para uma loja de produtos eletrônicos, desenvolvido em Python. Ele permite o cadastro, atualização e consulta de produtos no estoque, além de gerar relatórios detalhados sobre a quantidade e valor dos itens. O sistema também calcula o lucro presumido com base no custo e no preço de venda dos produtos.

Funcionalidades

  • Cadastro de Produtos: Adiciona novos produtos ao estoque, com descrição, código, quantidade, custo e preço de venda.
  • Inserção Inicial de Estoque: O sistema processa uma string fornecida com dados iniciais e carrega os produtos no estoque.
  • Listagem de Produtos: Exibe uma lista completa dos produtos cadastrados, com todos os seus atributos.
  • Ordenação de Produtos por Quantidade: Permite ordenar os produtos por quantidade em ordem crescente ou decrescente.
  • Busca de Produtos: Busca produtos por descrição ou código, com parâmetros obrigatoriamente passados por palavra-chave.
  • Remoção de Produtos: Remove um produto do estoque com base no código fornecido.
  • Consulta de Produtos Esgotados: Lista produtos cuja quantidade no estoque é zero.
  • Filtro de Produtos com Baixa Quantidade: Filtra produtos com quantidade abaixo de um limite mínimo, gerando um relatório.
  • Atualização de Estoque: Atualiza a quantidade de um produto específico, permitindo aumento ou redução.
  • Atualização de Preços: Permite alterar o preço de venda de um produto.
  • Validação de Atualizações: Verifica se as atualizações de quantidade e preço são válidas, evitando estoque negativo ou preços de venda inferiores ao custo.
  • Cálculo do Valor Total do Estoque: Calcula o valor total dos produtos no estoque.
  • Cálculo do Lucro Presumido: Calcula o lucro baseado na diferença entre custo e preço de venda de cada produto.
  • Relatório Geral do Estoque: Gera um relatório detalhado no terminal, formatado de forma organizada, com o valor total e o lucro do estoque.

Estrutura do Sistema

O sistema é baseado no processamento de uma string inicial de estoque, que é convertida em uma lista de dicionários, onde cada dicionário representa um produto. As operações são realizadas por meio de um menu interativo, onde o usuário pode escolher a funcionalidade desejada.