Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <cstdlib>
- using namespace std;
- string user; int pin; //ZMIENNE GLOBALNE (WIEM ZE NIEPROFESJONALNIE MOTZNO)
- int logout();
- int wyplac() //FUNKCJA WYPLACANIA
- {
- int pieniondze, wyplata, nr_linii=1; string linia, trueuser, truepin; //ZMIENNE
- cout <<"Ile chcialbys wyplacic?: ";
- cin >> wyplata;
- cout <<endl;
- if(wyplata%10!=0) //SPRAWDZANIE CZY UZYTKOWNIK NIE TROLLUJE
- {
- cout <<"Nie mozna wyplacic monet!";
- return 0;
- }
- fstream pliczek; //OTWIERANIE PLIKU LOGIN.TXT I WYPELNIENIE ZMIENNYCH
- pliczek.open("login.txt", ios::in);
- while(getline(pliczek, linia))
- {
- switch(nr_linii)
- {
- case 1: trueuser=linia; break;
- case 2: truepin=linia; break;
- case 3: pieniondze=atoi(linia.c_str()); break;
- }
- nr_linii++;
- }
- if(wyplata>pieniondze) //JEZELI UZYTKOWNIK TROLLOWAL A WYZEJ NIE ZOSTALO TO ZNALEZIONE W JAKIS SPOSOB TO ZNOWU ANULUJEMY OPCJE TOLLINGU
- {
- cout <<"Nie mozesz tyle wyplacic, nie masz tyle na koncie biedaku!";
- return 0;
- }
- else if(wyplata<=pieniondze) //JEZELI UZYTKOWNIK DOBRZE WYPELNIL WARTOSC WYPLATY TO PROGRAM KONTYNUUJE PRACE
- {
- pieniondze=pieniondze-wyplata;
- cout <<"Wyplacono: " <<wyplata <<", twoj obecny stan konta to: " <<pieniondze <<"." <<endl;
- fstream hajsik; //OTWARCIE PLIKU LOGIN.TXT I ZAKTUALIZOWANIE ZAWARTOSCI
- hajsik.open("login.txt", ios::out);
- hajsik<<trueuser<<endl;
- hajsik<<truepin<<endl;
- hajsik<<pieniondze;
- hajsik.close(); //ZAMKNIECIE PLIKU LOGIN.TXT (BARDZO WAZNE!)
- return 0;
- }
- }
- int stankonta() //FUNKCJA OPISUJACA STAN KONTA
- {
- int money; //ZMIENNE
- string linia;
- fstream stankonta; //OTWARCIE PLIKU LOGIN.TXT
- stankonta.open("login.txt", ios::in); //WCZYTANIE WARTOSCI Z PLIKU I WYPELNIENIE ZMIENNEJ
- int nr_linii=1;
- while(getline(stankonta,linia))
- {
- switch(nr_linii)
- {
- case 3: money=atoi(linia.c_str()); break;
- }
- nr_linii++;
- }
- stankonta.close(); //ZAMKNIECIE PLIKU (BARDZO WAZNE!)
- cout <<"Na koncie masz: " <<money <<"." <<endl;
- return 0;
- }
- int wplac() //WPLACANIE
- {
- int wplata, hajs, nr_linii=1; string linia, trueuser, truepin; //DEKLARACJA ZMIENNYCH
- cout <<"Ile chcesz wplacic?: ";
- cin >>wplata;
- if(wplata%10!=0) //SPRAWDZA CZY WPLACAMY BANKNOTY (MINIMALNY NOMINAL = 10 ZL)
- {
- cout <<endl <<"Nie da sie wplacac monet!" <<endl;
- return 0;
- }
- fstream wplacanie; //OTWIERA PLIK LOGIN.TXT I WYPELNIA ZMIENNE
- wplacanie.open("login.txt", ios::in);
- while(getline(wplacanie,linia))
- {
- switch(nr_linii)
- {
- case 1: trueuser=linia;break;
- case 2: truepin=linia;break;
- case 3: hajs=atoi(linia.c_str()); break;
- }
- nr_linii++;
- }
- wplacanie.close();
- hajs=hajs+wplata;
- fstream wplacanie1; //OTWIERA PLIK LOGIN.TXT I UZUPELNIA POWIEKSZONA SUMA PIENIEDZY
- wplacanie1.open("login.txt", ios::out);
- wplacanie1<<trueuser<<endl;
- wplacanie1<<truepin<<endl;
- wplacanie1<<hajs;
- wplacanie1.close();
- cout <<endl <<"Na koncie masz aktualnie " <<hajs <<"." <<endl;
- }
- int menu() //ZWYKLE MENU
- {
- int wybor;
- cout <<"*************************************" <<endl;
- cout <<"MENU" <<endl;
- cout <<"1.Wyswietl stan konta" <<endl;
- cout <<"2.Wplac" <<endl;
- cout <<"3.Wyplac" <<endl;
- cout <<"4.Wyloguj" <<endl;
- cout <<"Wybierz cyfre, zatwierzdz enterem" <<endl;
- cin >>wybor;
- cout <<"*************************************" <<endl <<endl;
- switch(wybor) //WYBIERA CO UZYTKOWNIK CHCE ZROBIC
- {
- case 1: stankonta(); break;
- case 2: wplac(); break;
- case 3: wyplac(); break;
- // case 4: logout(); break;
- }
- }
- int login(string user, int pin) //FUNKCJA LOGOWANIA
- {
- string trueuser, tempuser=user, linia; int truepin=pin, temppin=pin; bool loginSuccess = false;//ZMIENNE
- fstream plik; //OTWIERA PLIK LOGIN.TXT
- plik.open("login.txt", ios::in);
- if(plik.good()==false) //SPRAWDZA CZY PLIK INSTNIEJE
- {
- cout <<"ERROR! 404 FILE NOT FOUND!";
- return 0;
- }
- int nr_linii=1;
- while(getline(plik,linia)) //WYPELNIA ZMIENNE
- {
- switch(nr_linii)
- {
- case 1: trueuser=linia;break;
- case 2: truepin=atoi(linia.c_str()); break;
- }
- nr_linii++;
- }
- plik.close();
- do{
- if((user == trueuser || tempuser == trueuser) && (pin == truepin || temppin == truepin))
- {
- loginSuccess == true;
- cout <<"Zalogowano!" <<endl;
- menu();
- }
- else if((user != trueuser && tempuser != trueuser) || (pin != truepin && temppin != truepin))
- {
- cout <<"Bledny login/pin. Sproboj ponownie." <<endl;
- cout <<"Podaj swoj login (zatwierdz enterem), nastepnie podaj swoj pin (zatwierdz enterem). " <<endl;
- cout <<"Login: "; cin >>tempuser; cout <<endl;
- cout <<"PIN: "; cin >>temppin; cout <<endl;
- }
- }while(loginSuccess == false);
- }
- int main()
- {
- string user; int pin; //ZMIENNE
- cout <<"Witaj w banku XYZ!" <<endl;
- cout <<"Podaj swoj login (zatwierdz enterem), nastepnie podaj swoj pin (zatwierdz enterem)." <<endl;
- cout <<"Login: "; cin >>user; cout <<endl;
- cout <<"PIN: "; cin >>pin; cout <<endl;
- login(user, pin); //WYWOLANIE FUNKCJI LOGOWANIA
- return 0;
- }
Add Comment
Please, Sign In to add comment