-2
The intention here is to use a matrix capable of storing in each position all the information related to a given service (number, value, service code, customer code). Each row represents one day of the month. So, I must use a 30 3 matrix. Follow the code:
class TipoServico:
codigo = 0
descricao = ''
class PrestacaoServico:
numero = 0
valor = 0.0
cod_servico = 0
cod_cliente = 0
def cadastrar_tipos_servicos(vets):
for i in range(4):
s = TipoServico()
s.codigo = input('Digite o código do serviço: ')
s.descricao = input('Digite a descrição do serviço: ')
vets.append(s)
return vets
def consultar_tipos_servicos(vets):
for i in range(len(vets)):
print('Código: ',vets[i].codigo,'\tDescrição do servico: ',vets[i].descricao)
def servicos_prestados(vetm):
x = PrestacaoServico()
total_de_dias = 30
total_de_servicos = 3
for lin in range(total_de_dias):
for col in range(total_de_servicos):
x.numero = int(input('Informe o número: '))
x.valor = float(input('Informe o valor: R$'))
x.cod_servico = int(input('Informe o código do serviço: '))
x.cod_cliente = int(input('Informe o código do cliente: '))
vetm.append(x)
break
return vetm
def consultar_servicos_prestados(vetm):
for i in range(len(vetm)):
print('Número: ',vetm[i].numero,'\tValor: R$',vetm[i].valor,'\tCódigo do serviço:',vetm[i].cod_servico,'\tCódigo do cliente:',vetm[i].cod_cliente)
def main():
vetServico = []
matriz = []
while True:
print('Menu de opções')
print('1. Cadastrar os tipos de serviços')
print('2. Mostrar todos os tipos de serviço')
print('3. Cadastrar os serviços prestados')
print('4. Mostrar todos os serviços prestados')
print('5. Mostrar os serviços prestados em determinado dia')
print('6. Mostrar os serviços prestados dentro de um intervalo de valor')
print('7. Mostrar um relatório geral (separado por dia)')
print('8. Sair')
opcao = int(input('Digite a opção desejada: '))
if opcao == 1:
vetServico = cadastrar_tipos_servicos(vetServico)
elif opcao == 2:
consultar_tipos_servicos(vetServico)
elif opcao == 3:
matriz = servicos_prestados(matriz)
elif opcao == 4:
consultar_servicos_prestados(matriz)
elif opcao == 5:
print('Opção 5')
elif opcao == 6:
print('Opção 6')
elif opcao == 7:
print('Opção 7')
else:
break
main()
and what is the question? Is there a mistake?
– Paulo Marques
When I ask to show all the services provided, it results in 3x: Number: 30 Value: R$ 300.0 Service Code: 3 Client code: 3 .
– Issamu97
See if you decide to change the line below
opcao == 1
ofvetServico = cadastrar_tipos_servicos(vetServico)
forvetServico.append(cadastrar_tipos_servicos(vetServico))
&#That, because you have to add ``to your list.– Paulo Marques
The problem is in option 3 and 4, that is, in
def servicos_prestados(vetm)
anddef consultar_servicos_prestados(vetm)
. Option 1 and 2 is working normally.– Issamu97