Advertisement
lucast0rres

BancoTXT

Jun 20th, 2016
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.90 KB | None | 0 0
  1. #Author: Lucas Pereira Torres de Araujo
  2. #Lista 9 - FUP's Class - 2016.1
  3. #BancoTXT
  4.  
  5. contas = []
  6. run = 1
  7. cont = 0
  8. c = 0
  9.  
  10. print ">>> Bem vindo ao sistema BancoTXT <<<"
  11.  
  12. while run == 1:
  13.     print "\n### Menu ###"
  14.     print "0 - Sair"
  15.     print "1 - Criar uma nova conta"
  16.     print "2 - Remover uma conta"
  17.     print "3 - Credito"
  18.     print "4 - Debito"
  19.     print "5 - Transferencia"
  20.     print "6 - Consultar saldo\n"
  21.     op = raw_input("Seleciona a operacao que deseja realizar:\n>>> ")
  22.  
  23.     if op == "0":
  24.         print "\nSistema encerrado."
  25.         run = 0
  26.  
  27.     elif op == "1":
  28.         flag = 1
  29.         dados_conta = {}
  30.         dados_conta['nome_conta'] = raw_input("Digite o numero da nova conta:\n>>> ")
  31.  
  32.         for verificar in contas:
  33.             if verificar['nome_conta'] == dados_conta['nome_conta']:
  34.                 flag = 0
  35.  
  36.         if flag == 0:
  37.             print "\nO numero da conta ja existe. Tente novamente."
  38.         else:
  39.             dados_conta['saldo_conta'] = float(input("Digite o saldo da nova conta:\n>>> "))
  40.             contas.append(dados_conta)
  41.             print "\nOperacao efetuada com sucesso."
  42.  
  43.     elif op == "2":
  44.         flag_index = -1
  45.         flag_delete = 0
  46.         remover_conta = raw_input("Digite o numero da conta para remover:\n>>> ")
  47.  
  48.         for verificar in contas:
  49.             flag_index += 1
  50.             if verificar['nome_conta'] == remover_conta:
  51.                 flag_delete = 1
  52.  
  53.         if flag_delete == 1:
  54.             del contas[flag_index]
  55.             print "\nOperacao efetuada com sucesso."
  56.         else:
  57.             print "\nO numero da conta nao existe. Tente novamente."
  58.  
  59.     elif op == "3":
  60.         flag = 0
  61.         conta_credito = raw_input("Digite o numero da conta:\n>>> ")
  62.  
  63.         for consulta in contas:
  64.             if consulta['nome_conta'] == conta_credito:
  65.                 flag = 1
  66.                 valor_credito = float(input("Digite o valor do credito:\n>>> R$ "))
  67.                 if valor_credito < 0:
  68.                     print "\nValores negativos nao sao aceitos. Tente novamente."
  69.                 else:
  70.                     consulta['saldo_conta'] += valor_credito
  71.                     print "\nOperacao efetuada com sucesso."
  72.  
  73.         if flag == 0:
  74.             print "\nO numero da conta nao foi encontrado. Tente novamente."
  75.  
  76.     elif op == "4":
  77.         flag = 0
  78.         conta_debito = raw_input("Digite o numero da conta:\n>>> ")
  79.  
  80.         for consulta in contas:
  81.             if consulta['nome_conta'] == conta_debito:
  82.                 flag = 1
  83.                 valor_debito = float(input("Digite o valor do credito:\n>>> R$ "))
  84.                 if valor_debito < 0:
  85.                     print "\nValores negativos nao sao aceitos. Tente novamente."
  86.                 else:
  87.                     consulta['saldo_conta'] -= valor_debito
  88.                     print "\nOperacao efetuada com sucesso."
  89.         if flag == 0:
  90.             print "\nO numero da conta nao foi encontrado. Tente novamente."
  91.  
  92.     elif op == "5":
  93.         flag_is = 0
  94.         conta_transfer = raw_input("Digite o numero da sua conta:\n>>> ")
  95.  
  96.         #Procura a primeira conta
  97.         for consulta in contas:
  98.             if consulta['nome_conta'] == conta_transfer:
  99.                 flag_is = 1
  100.                 conta_destino = raw_input("Digite o numero da conta destino:\n>>> ")
  101.  
  102.                 #Verifica se eh uma transferencia para a mesma conta
  103.                 if conta_destino != conta_transfer:
  104.                     #Procura a segunda conta
  105.                     for destino in contas:
  106.                         if destino['nome_conta'] == conta_destino:
  107.                             flag_is = 2
  108.                             valor_transfer = float(input("Digite o valor da transferencia:\n>>> R$ "))
  109.  
  110.                             #Verifica se o saldo eh suficiente
  111.                             if valor_transfer > consulta['saldo_conta']:
  112.                                 print "\nNao eh possivel transferir um valor maior que o seu saldo."
  113.                                 break
  114.                             #Verifica se o valor eh negativo
  115.                             elif valor_transfer < 0:
  116.                                 print "\nNao eh possivel transferir um valor negativo."
  117.                                 break
  118.                             else:
  119.                                 consulta['saldo_conta'] -= valor_transfer
  120.                                 destino['saldo_conta'] += valor_transfer
  121.                                 print "\nOperacao efetuada com sucesso."
  122.                                 break
  123.                 else:
  124.                     flag_is = 3
  125.                     break
  126.  
  127.         if flag_is == 0:
  128.             print "\nA sua conta nao foi encontrada. Tente novamente."
  129.         elif flag_is == 1:
  130.             print "\nA conta de destino nao foi encontrada. Tente novamente."
  131.         elif flag_is == 3:
  132.             print "\nNao eh possivel transferir dinheiro para a mesma conta."
  133.  
  134.     elif op == "6":
  135.         flag = 0
  136.         consulta_conta = raw_input("Digite o numero da conta para consultar o saldo:\n>>> ")
  137.  
  138.         for consulta in contas:
  139.             if consulta['nome_conta'] == consulta_conta:
  140.                 flag = 1
  141.                 if consulta['saldo_conta'] >= 0:
  142.                     status = "Positivo"
  143.                 else:
  144.                     status = "Negativo"
  145.                 print "\nO saldo eh: R$ %.2f (%s)" % (consulta['saldo_conta'], status)
  146.  
  147.         if flag == 0:
  148.             print "\nO numero da conta nao foi encontrado. Tente novamente."
  149.     else:
  150.         print "\nOperacao invalida."
  151.  
  152.     if cont%2 == 0:
  153.         backup = open('banco_backup.txt', 'a')
  154.         c += 1
  155.         linha = "Entrada %s (%s): %s" % (str(c), str(cont), str(contas))
  156.         backup.write(linha+"\n")
  157.         backup.close()
  158.  
  159.     cont += 1
  160.  
  161. bancotxt = open('bancotxt.txt', 'w')
  162. linha = str(contas)
  163. bancotxt.write(linha+"\n")
  164.  
  165. bancotxt.write("\n>>> Dados das contas <<<\n")
  166. for conta in contas:
  167.     dadostxt = "Numero da conta: {0}\nSaldo: {1}\n" .format(conta['nome_conta'], conta['saldo_conta'])
  168.     bancotxt.write(dadostxt+"\n")
  169. bancotxt.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement