jackob97

BANKO V2 x KAMOL

Mar 30th, 2015
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <cstdlib>
  5.  
  6. using namespace std;
  7.  
  8.  string user; int pin; //ZMIENNE GLOBALNE (WIEM ZE NIEPROFESJONALNIE MOTZNO)
  9.  
  10. int logout();
  11.  
  12. int wyplac()    //FUNKCJA WYPLACANIA
  13. {
  14.     int pieniondze, wyplata, nr_linii=1; string linia, trueuser, truepin;   //ZMIENNE
  15.  
  16.     cout <<"Ile chcialbys wyplacic?: ";
  17.     cin >> wyplata;
  18.     cout <<endl;
  19.  
  20.     if(wyplata%10!=0)   //SPRAWDZANIE CZY UZYTKOWNIK NIE TROLLUJE
  21.     {
  22.         cout <<"Nie mozna wyplacic monet!";
  23.         return 0;
  24.     }
  25.  
  26.     fstream pliczek;    //OTWIERANIE PLIKU LOGIN.TXT I WYPELNIENIE ZMIENNYCH
  27.     pliczek.open("login.txt", ios::in);
  28.     while(getline(pliczek, linia))
  29.     {
  30.             switch(nr_linii)
  31.             {
  32.                 case 1: trueuser=linia; break;
  33.                 case 2: truepin=linia; break;
  34.                 case 3: pieniondze=atoi(linia.c_str()); break;
  35.             }
  36.             nr_linii++;
  37.     }
  38.  
  39.     if(wyplata>pieniondze)  //JEZELI UZYTKOWNIK TROLLOWAL A WYZEJ NIE ZOSTALO TO ZNALEZIONE W JAKIS SPOSOB TO ZNOWU ANULUJEMY OPCJE TOLLINGU
  40.     {
  41.         cout <<"Nie mozesz tyle wyplacic, nie masz tyle na koncie biedaku!";
  42.         return 0;
  43.     }
  44.     else if(wyplata<=pieniondze)    //JEZELI UZYTKOWNIK DOBRZE WYPELNIL WARTOSC WYPLATY TO PROGRAM KONTYNUUJE PRACE
  45.     {
  46.         pieniondze=pieniondze-wyplata;
  47.         cout <<"Wyplacono: " <<wyplata <<", twoj obecny stan konta to: " <<pieniondze <<"." <<endl;
  48.  
  49.         fstream hajsik;     //OTWARCIE PLIKU LOGIN.TXT I ZAKTUALIZOWANIE ZAWARTOSCI
  50.         hajsik.open("login.txt", ios::out);
  51.         hajsik<<trueuser<<endl;
  52.         hajsik<<truepin<<endl;
  53.         hajsik<<pieniondze;
  54.         hajsik.close(); //ZAMKNIECIE PLIKU LOGIN.TXT (BARDZO WAZNE!)
  55.  
  56.         return 0;
  57.     }
  58.  
  59. }
  60.  
  61. int stankonta() //FUNKCJA OPISUJACA STAN KONTA
  62. {
  63.     int money;  //ZMIENNE
  64.     string linia;
  65.  
  66.     fstream stankonta;     //OTWARCIE PLIKU LOGIN.TXT
  67.     stankonta.open("login.txt", ios::in);   //WCZYTANIE WARTOSCI Z PLIKU I WYPELNIENIE ZMIENNEJ
  68.     int nr_linii=1;
  69.     while(getline(stankonta,linia))
  70.     {
  71.         switch(nr_linii)
  72.         {
  73.             case 3: money=atoi(linia.c_str()); break;
  74.         }
  75.         nr_linii++;
  76.     }
  77.     stankonta.close();  //ZAMKNIECIE PLIKU (BARDZO WAZNE!)
  78.  
  79.     cout <<"Na koncie masz: " <<money <<"." <<endl;
  80.     return 0;
  81. }
  82.  
  83. int wplac() //WPLACANIE
  84. {
  85.     int wplata, hajs, nr_linii=1; string linia, trueuser, truepin; //DEKLARACJA ZMIENNYCH
  86.  
  87.     cout <<"Ile chcesz wplacic?: ";
  88.     cin >>wplata;
  89.  
  90.     if(wplata%10!=0) //SPRAWDZA CZY WPLACAMY BANKNOTY (MINIMALNY NOMINAL = 10 ZL)
  91.     {
  92.         cout <<endl <<"Nie da sie wplacac monet!" <<endl;
  93.         return 0;
  94.     }
  95.  
  96.     fstream wplacanie;  //OTWIERA PLIK LOGIN.TXT I WYPELNIA ZMIENNE
  97.     wplacanie.open("login.txt", ios::in);
  98.     while(getline(wplacanie,linia))
  99.     {
  100.         switch(nr_linii)
  101.         {
  102.             case 1: trueuser=linia;break;
  103.             case 2: truepin=linia;break;
  104.             case 3: hajs=atoi(linia.c_str()); break;
  105.         }
  106.         nr_linii++;
  107.     }
  108.     wplacanie.close();
  109.  
  110.     hajs=hajs+wplata;
  111.  
  112.     fstream wplacanie1; //OTWIERA PLIK LOGIN.TXT I UZUPELNIA POWIEKSZONA SUMA PIENIEDZY
  113.     wplacanie1.open("login.txt", ios::out);
  114.     wplacanie1<<trueuser<<endl;
  115.     wplacanie1<<truepin<<endl;
  116.     wplacanie1<<hajs;
  117.     wplacanie1.close();
  118.  
  119.     cout <<endl <<"Na koncie masz aktualnie " <<hajs <<"." <<endl;
  120. }
  121.  
  122. int menu()  //ZWYKLE MENU
  123. {
  124.     int wybor;
  125.  
  126.     cout <<"*************************************" <<endl;
  127.     cout <<"MENU" <<endl;
  128.     cout <<"1.Wyswietl stan konta" <<endl;
  129.     cout <<"2.Wplac" <<endl;
  130.     cout <<"3.Wyplac" <<endl;
  131.     cout <<"4.Wyloguj" <<endl;
  132.     cout <<"Wybierz cyfre, zatwierzdz enterem" <<endl;
  133.     cin >>wybor;
  134.     cout <<"*************************************" <<endl <<endl;
  135.  
  136.     switch(wybor)   //WYBIERA CO UZYTKOWNIK CHCE ZROBIC
  137.     {
  138.         case 1: stankonta(); break;
  139.         case 2: wplac(); break;
  140.         case 3: wyplac(); break;
  141.       //  case 4: logout(); break;
  142.     }
  143. }
  144.  
  145. int login(string user, int pin) //FUNKCJA LOGOWANIA
  146. {
  147.     string trueuser, tempuser=user, linia; int truepin=pin, temppin=pin; bool loginSuccess = false;//ZMIENNE
  148.  
  149.     fstream plik;   //OTWIERA PLIK LOGIN.TXT
  150.     plik.open("login.txt", ios::in);
  151.     if(plik.good()==false)  //SPRAWDZA CZY PLIK INSTNIEJE
  152.     {
  153.         cout <<"ERROR! 404 FILE NOT FOUND!";
  154.         return 0;
  155.     }
  156.     int nr_linii=1;
  157.     while(getline(plik,linia))  //WYPELNIA ZMIENNE
  158.     {
  159.         switch(nr_linii)
  160.         {
  161.             case 1: trueuser=linia;break;
  162.             case 2: truepin=atoi(linia.c_str()); break;
  163.         }
  164.         nr_linii++;
  165.     }
  166.     plik.close();
  167.  
  168.     do{
  169.             if((user == trueuser ||  tempuser == trueuser) && (pin == truepin || temppin == truepin))
  170.             {
  171.                 loginSuccess == true;
  172.                 cout <<"Zalogowano!" <<endl;
  173.                 menu();
  174.             }
  175.             else if((user != trueuser && tempuser != trueuser) || (pin != truepin && temppin != truepin))
  176.             {
  177.                 cout <<"Bledny login/pin. Sproboj ponownie." <<endl;
  178.                 cout <<"Podaj swoj login (zatwierdz enterem), nastepnie podaj swoj pin (zatwierdz enterem). " <<endl;
  179.                 cout <<"Login: "; cin >>tempuser; cout <<endl;
  180.                 cout <<"PIN: "; cin >>temppin; cout <<endl;
  181.             }
  182.     }while(loginSuccess == false);
  183.  
  184. }
  185.  
  186. int main()
  187. {
  188.     string user; int pin;   //ZMIENNE
  189.  
  190.     cout <<"Witaj w banku XYZ!" <<endl;
  191.     cout <<"Podaj swoj login (zatwierdz enterem), nastepnie podaj swoj pin (zatwierdz enterem)." <<endl;
  192.     cout <<"Login: "; cin >>user; cout <<endl;
  193.     cout <<"PIN: "; cin >>pin; cout <<endl;
  194.  
  195.     login(user, pin);   //WYWOLANIE FUNKCJI LOGOWANIA
  196.  
  197.     return 0;
  198. }
Add Comment
Please, Sign In to add comment