O código é estruturado em blocos lógicos que se comunicam para simular o fluxo de um sistema real. Ele utiliza a Programação Orientada a Objetos para a modelagem dos dados e funções para a lógica de negócio e interface com o usuário.
Item
e Pedido
. Elas representam as entidades de negócio e contêm os atributos e comportamentos relacionados aos itens do cardápio e aos pedidos de clientes.fila_pedidos_pendentes
, fila_pedidos_aceitos
, fila_pedidos_prontos
).menu_principal()
, menu_gerenciar_itens()
, menu_gerenciar_pedidos()
e menu_consultar_pedidos()
controlam a navegação da interface de console e orquestram as operações do sistema.limpar_tela()
é uma função de suporte para melhorar a experiência do usuário, limpando a tela do console antes de exibir novos menus.Item
Esta classe modela um produto ou item disponível no cardápio.
codigo
(int
): Um identificador único para o item.nome
(str
): O nome do item (e.g., "Hambúrguer Clássico").descricao
(str
): Uma breve descrição do item.preco
(float
): O valor monetário do item.estoque
(int
): A quantidade disponível do item em estoque.__init__(self, codigo, nome, descricao, preco, estoque)
: O construtor da classe. Inicializa uma nova instância de Item
com os valores fornecidos.__str__(self)
: Este método especial de Python (dunder method) define a representação em string de um objeto Item
. É utilizado para exibir informações formatadas sobre o item de forma legível. Por exemplo: Código: 1 | Nome: Hambúrguer | Preço: R$25.50 | Estoque: 50
.Pedido
Esta classe representa o conjunto de itens solicitados por um cliente.
codigo
(int
): Identificador único do pedido.itens
(list
): Uma lista de objetos da classe Item
que compõem o pedido.valor_total
(float
): O valor total do pedido, calculado como a soma dos preços de todos os itens na lista itens
.status
(str
): O estado atual do pedido. O valor inicial é "AGUARDANDO APROVACAO"
. O código já prevê a evolução para outros status como "ACEITO" e "PRONTO" em futuras implementações.__init__(self, codigo, itens)
: O construtor. Recebe o código e a lista de itens, calcula o valor_total
e inicializa o status
padrão.__str__(self)
: Define a representação em string do objeto Pedido
para exibição. Por exemplo: Pedido 101 | Status: AGUARDANDO APROVACAO | Total: R$35.00 | Itens: Hambúrguer, Coca-cola
.menu_gerenciar_itens
)Item
). O sistema atribui um código de forma automática (proximo_codigo_item
). Inclui validação básica para garantir que o preço
e o estoque
são números válidos. O novo item é armazenado na lista itens_cardapio
.