Criar um projeto de cadastro de clientes e pedidos é um ótimo exercício para praticar a programação orientada a objetos em Python. Aqui está um exemplo de como você pode estruturar o projeto:
-
Criar uma classe Cliente para representar um cliente
class Cliente:
def __init__(self, nome, email, telefone):
self.nome = nome
self.email = email
self.telefone = telefone
- Criar uma classe Pedido para representar um pedido
class Pedido:
def __init__(self, cliente, descricao, valor):
self.cliente = cliente
self.descricao = descricao
self.valor = valor
- Criar uma classe Cadastro para gerenciar o cadastro de clientes e pedidos
class Cadastro:
def __init__(self):
self.clientes = []
self.pedidos = []
def adicionar_cliente(self, cliente):
self.clientes.append(cliente)
def adicionar_pedido(self, pedido):
self.pedidos.append(pedido)
def editar_cliente(self, indice, cliente):
self.clientes[indice] = cliente
def editar_pedido(self, indice, pedido):
self.pedidos[indice] = pedido
def deletar_cliente(self, indice):
del self.clientes[indice]
def deletar_pedido(self, indice):
del self.pedidos[indice]
def listar_clientes(self):
for cliente in self.clientes:
print(f"Nome: {cliente.nome}, Email: {cliente.email}, Telefone: {cliente.telefone}")
def listar_pedidos(self):for pedido in self.pedidos: print(f”Cliente: {pedido.cliente.nome}, Descrição: {pedido.descricao}, Valor: {pedido.valor}“)
- Usar a classe Cadastro para interagir com o usuário e gerenciar o cadastro
cadastro = Cadastro()
while True:
print("1 - Adicionar cliente")
print("2 - Adicionar pedido")
print("3 - Editar cliente")
print("4 - Editar pedido")
print("5 - Deletar cliente")
print("6 - Deletar pedido")
print("7 - Listar clientes")
print("8 - Listar pedidos")
print("0 - Sair")
opcao = input("Escolha uma opção: ")
if opcao == "1":
nome = input("Digite o nome do cliente: ")
email = input("Digite o email do cliente: ")
telefone = input("Digite o telefone do cliente: ")
cliente = Cliente(nome, email, telefone)
cadastro.adicionar_cliente(cliente)
print("Cliente adicionado com sucesso!")
elif opcao == "2":
nome_cliente = input("Digite o nome do cliente: ")
descricao = input("Digite a descrição do pedido: ")
valor = float(input("Digite o valor do pedido: "))
cliente = None
for c in cadastro.clientes:
if c.nome == nome_cliente:
cliente = c
break
if cliente is not None:
pedido = Pedido(cliente, descricao, valor)
cadastro.adicionar_pedido(pedido)
print("Pedido adicionado com sucesso!")
else:
print("Cliente não encontrado!")
elif opcao == "3":
nome = input("Digite o nome do cliente a ser editado: ")
cliente = None
for c in cadastro.clientes:
if c.nome == nome:
cliente = c
break
if cliente is not None:
nome = input("Digite o novo nome do cliente: ")
email = input("Digite o novo email do cliente: ")
telefone = input("Digite o novo telefone do cliente: ")
cliente.nome = nome
cliente.email = email
cliente.telefone = telefone
cadastro.editar_cliente(cadastro.clientes.index(cliente), cliente)
print("Cliente editado com sucesso!")
else:
print("Cliente não encontrado!")
elif opcao == “4”:nome_cliente = input(“Digite o nome do cliente do pedido a ser editado: “)
descricao = input(“Digite a nova descrição do pedido: “)
valor = float(input(“Digite o novo valor do pedido: “))
cliente = None
for c in cadastro.clientes:
if c.nome == nome_cliente:
cliente = c
break
if cliente is not None:
pedido = None
for p in cadastro.pedidos:
if p.cliente == cliente:
pedido = p
break
if pedido is not None:
pedido.descricao = descricao
pedido.valor = valor
cadastro.editar_pedido(cadastro.pedidos.index(pedido), pedido)
print(“Pedido editado com sucesso!”)
else:
print(“Pedido não encontrado!”)
else:
print(“Cliente não encontrado!”)
elif opcao == “5”:nome = input(“Digite o nome do cliente a ser deletado: “)
cliente = None
for c in cadastro.clientes:
if c.nome == nome:
cliente = c
break
if cliente is not None:
cadastro.deletar_cliente(cadastro.clientes.index(cliente))
print(“Cliente deletado com sucesso!”)
else:
print(“Cliente não encontrado!”)
elif opcao == “6”:
nome_cliente = input(“Digite o nome do cliente do pedido a ser deletado: “)
cliente = None
for c in cadastro.clientes:
if c.nome == nome_cliente:
cliente = c
break
if cliente is not None:
pedido = None
for p in cadastro.pedidos:
if p.cliente == cliente:
pedido = p
break
if pedido is not None:
cadastro.deletar_pedido(cadastro.pedidos.index(pedido))
print(“Pedido deletado com sucesso!”)
else:
print(“Pedido não encontrado!”)
else:
print(“Cliente não encontrado!”)
elif opcao == “7”:
cadastro.listar_clientes()
elif opcao == “8”:
cadastro.listar_pedidos()
elif opcao == “0”:
break
else:
print(“Opção inválida!”)