import os
import json
estoque = []
ARQUIVO_ESTOQUE = "estoque.json"
def carregar_dados():
global estoque
if os.path.exists(ARQUIVO_ESTOQUE):
try:
with open(ARQUIVO_ESTOQUE, "r", encoding="utf-8") as f:
estoque = json.load(f)
except Exception:
estoque = []
def salvar_dados():
try:
with open(ARQUIVO_ESTOQUE, "w", encoding="utf-8") as f:
json.dump(estoque, f, indent=4, ensure_ascii=False)
except Exception as e:
print(f"Erro ao salvar: {e}")
def cabecalho(texto, char="-", largura=50, limpar=True):
if limpar:
os.system("cls" if os.name == "nt" else "clear")
print(char * largura)
print(texto.center(largura))
print(char * largura)
def menu():
while True:
cabecalho("Menu", "=")
print("1. Cadastrar Item")
print("2. Listar Itens")
print("3. Verificar Item")
print("4. Sair")
escolha_menu()
def cadastrar_item():
cabecalho("Cadastrar Item", "-")
nome = input("Digite o nome do item: ")
try:
quantidade = int(input("Digite a quantidade do item: "))
item = {"nome": nome, "quantidade": quantidade}
estoque.append(item)
salvar_dados()
print("\nItem cadastrado e salvo com sucesso!")
except ValueError:
print("Erro: Digite um número válido para a quantidade.")
input("Pressione Enter para continuar...")
def listar_itens():
cabecalho("Itens no Estoque", "-")
if not estoque:
print("Não há itens no estoque.")
else:
for item in estoque:
print(f"Nome: {item['nome']} | Quantidade: {item['quantidade']}")
print("-" * 30)
input("Pressione Enter para continuar...")
def verificar_item():
cabecalho("Verificar Item", "-")
busca = input("Digite o nome do item para buscar: ").lower()
encontrado = False
for item in estoque:
if busca in item["nome"].lower():
print(f"-> Encontrado: {item['nome']} (Qtd: {item['quantidade']})")
encontrado = True
if not encontrado:
print(f"Item '{busca}' não localizado. Precisa ser comprado e/ou cadastrado.")
input("\nPressione Enter para continuar...")
def sair():
salvar_dados()
os.system("cls" if os.name == "nt" else "clear")
print("Dados salvos. Programa Fechado.")
exit()
def escolha_menu():
try:
opcao = int(input("Escolha uma opção: "))
if opcao == 1:
cadastrar_item()
elif opcao == 2:
listar_itens()
elif opcao == 3:
verificar_item()
elif opcao == 4:
sair()
else:
print("Opção inválida.")
except ValueError:
print("Por favor, digite um número.")
def main():
carregar_dados()
menu()
if __name__ == "__main__":
main()