/ Published in: C++
Expand |
Embed | Plain Text
#include<iostream> #include<cstring> #include "red_pokazivaci.h" using namespace std; int brojac=0; void dodaj(){ char vrsta_transakcije; klijent x; cout << endl << "Ime i prezime: "; cin.ignore(); cin.getline(x.prez_ime, 50); cout << "Starost: "; cin >> x.god; do{ cout << "Vrsta transakcije: "; cout << endl << "1. uplate/isplate"; cout << endl << "2. Placanje racuna"; cout << endl << "3. Krediti" << endl; cout << "Vas izbor: "; cin >> vrsta_transakcije; }while(vrsta_transakcije<'1' || vrsta_transakcije >'3'); switch(vrsta_transakcije){ case '1': strcpy(x.transakcija, "Uplate/isplate"); break; case '2': strcpy(x.transakcija, "Placanje racuna"); break; case '3': strcpy(x.transakcija, "Krediti"); break; } cout <<"Stanje na racunu: "; cin >> x.stanje; EnQueueQ(x, Q); brojac ++; } void stanje(){ klijent x; for(int i=0; i<brojac; i++){ x = FrontQ(Q); DeQueueQ(Q); EnQueueQ(x, Q); cout << endl << "Ime i prezime: " << x.prez_ime; cout << endl << "Starosr: " <<x.god; cout << endl << "Vrsta transakcije: " <<x.transakcija; cout << endl << "Stanje na racunu: " << x.stanje<< endl; cout << endl; } } void stari(){ InitQ(P); klijent x; for(int i=0;i<brojac; i++){ x = FrontQ(Q); DeQueueQ(Q); if(x.god > 65) EnQueueQ(x, Q); else EnQueueQ(x, P); } while(!IsEmptyQ(P)){ x = FrontQ(P); DeQueueQ(P); EnQueueQ(x, Q); } cout << endl << "Stanje u redu: " << endl; stanje(); } void izbaciga(){ klijent x; int prije_izbacivanja = brojac; for(int i=0;i<prije_izbacivanja; i++){ x = FrontQ(Q); DeQueueQ(Q); if(x.stanje < 100 && !strcmp(x.transakcija, "Krediti")) --brojac; else EnQueueQ(x, Q); } cout << endl << "Stanje u redu: " << endl; stanje(); } void zamjena_saltera(){ klijent x = FrontQ(Q); DeQueueQ(Q); if(!IsEmptyQ(Q)) zamjena_saltera(); EnQueueQ(x, Q); } int main(){ int izbor; InitQ(Q); do{ cout << endl << "1. Dodavanje zapisa o klijentima u red "; cout << endl << "2. Pustanje starijih od 65 godina na pocetak reda "; cout << endl << "3. Izbacivanje klijenata s manje od 100 kn na racunu "; cout << endl << "4. Zatvaranje jednog, i otvaranje drugog saltera (obracanje reda)"; cout << endl << "Vas izbor: "; cin >> izbor; switch(izbor){ case 1: system("cls"); dodaj(); break; case 2: system("cls"); if(brojac == 0) cout << endl << "Red je prazan! " << endl; else stari(); break; case 3: system("cls"); if(brojac == 0) cout << endl << "Red je prazan! " << endl; else izbaciga(); break; case 4: system("cls"); if(brojac == 0) cout << endl << "Red je prazan! " << endl; else{ zamjena_saltera(); cout << endl << "Stanje u redu: " << endl; stanje(); } break; } }while(izbor != 9); return 0; }
You need to login to post a comment.
