giganciprogramowania

l16 Bankomat rozszerzenie

May 15th, 2023 (edited)
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. def glowne_menu():
  2.     print("Wybierz opcje:")
  3.     print("1. Wpłata")
  4.     print("2. Wypłata")
  5.     print("3. Sprawdzenie stanu konta")
  6.     print("4. Zakończ")
  7.     print("5. Wyświetlenie histori operacji")
  8.  
  9. def pobierz_wybor_klienta():
  10.     return int(input("twój wybór to: "))
  11.  
  12. def pobierz_kwote(tekst):
  13.     return float(input(tekst))
  14.  
  15. def pokaz_stan_konta(saldo):
  16.     print(f"Stan konta wynosi {saldo} złotych")
  17.  
  18. def wplata(saldo):
  19.     kwota_wplaty = pobierz_kwote("Ile chcesz wpłacić")
  20.     saldo = saldo + kwota_wplaty
  21.     pokaz_stan_konta(saldo)
  22.     return saldo
  23.  
  24.  
  25. def wyplata(saldo):
  26.     kwota_wyplaty = pobierz_kwote("Ile chcesz wypłacić")
  27.     if kwota_wyplaty > saldo:
  28.         print("Operacja nie udana, za mało środków na koncie")
  29.         return saldo
  30.     else:
  31.         saldo -= kwota_wyplaty
  32.         print(f"Wypłacono {kwota_wyplaty} złotych")
  33.         return saldo
  34.  
  35.  
  36. def pobierz_dane(dana):
  37.     return input(f"Podaj numer {dana}: ")
  38.  
  39. def sprawdz_zgodnosc_danych(baza, karta, pin):
  40.     for klient in baza:
  41.         if klient[0] == karta:
  42.             return klient[1] == pin
  43.     return False
  44.  
  45.  
  46. def pobierz_stan_konta(baza, karta):
  47.     for klient in baza:
  48.         if klient[0] == karta:
  49.             return klient[2]
  50.     return 0
  51.  
  52. def aktualizuj_historie_klienta(baza, karta, operacja):
  53.     for klient in baza:
  54.         if klient[0] == karta:
  55.             klient[3].append(operacja)
  56.  
  57. def pokaz_historie_klienta(baza, karta):
  58.     for klient in baza:
  59.         if klient[0] == podana_karta:
  60.             for i in range(len(klient[3])):
  61.                 print(f'{i+1}. {klient[3][i]}')
  62. #powyżej nich będziemy pisać wszystkie funkcje naszego programu!!!
  63. wybor = 0
  64. saldo = 0
  65. #KARTA = "0001"
  66. #PIN = "1234"
  67. KLIENCI = [
  68.     ["0001","1234",0,[] ],
  69.     ["0002", "1111", 120,[]],
  70.     ["0003", "3232", 1223.33,[]]
  71. ]
  72. #poniżej będzie główna pętla programu
  73. podana_karta = pobierz_dane("karty")
  74. podany_pin  = pobierz_dane("PIN")
  75. if sprawdz_zgodnosc_danych(KLIENCI, podana_karta, podany_pin):
  76.     saldo = pobierz_stan_konta(KLIENCI, podana_karta)
  77.     while wybor != 4:
  78.         glowne_menu()
  79.         wybor = pobierz_wybor_klienta()
  80.         if wybor == 1:
  81.             saldo = wplata(saldo)
  82.             aktualizuj_historie_klienta(KLIENCI,podana_karta, "Wpłata")
  83.             pass
  84.         elif wybor == 2:
  85.             saldo = wyplata(saldo)
  86.             aktualizuj_historie_klienta(KLIENCI,podana_karta, "Wypłata")
  87.             pass
  88.         elif wybor == 3:
  89.             pokaz_stan_konta(saldo)
  90.             aktualizuj_historie_klienta(KLIENCI,podana_karta, "Wyświetlenie salda")
  91.             pass
  92.         elif wybor == 4:
  93.             print("Wyłączanie bankomatu")
  94.             pass
  95.         elif wybor == 5:
  96.             pokaz_historie_klienta(KLIENCI,podana_karta)
  97.             pass
  98.         else:
  99.             print("niepoprawne dane")
  100.             pass
  101.         pass
  102. else:
  103.     print("błąd logowania")
  104.  
  105.  
  106.    
  107.  
Add Comment
Please, Sign In to add comment