/ Published in: C++
SP_Z3
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include <iostream> struct tklijent { int godina, stanje_na_racunu; char ime_i_prezime[40], vrsta_transakcije[30]; }; //#include "red_polje.h" #include "red_pokazivac.h" using namespace std; tklijent klijent, klijent2; void dodaj (red *Q){ int izb; cin.ignore(); cout << "Ime i prezime klijenta: "; cin.getline(klijent.ime_i_prezime, 40); cout << "Godina rodenja: "; cin >> klijent.godina; cout << "Stanje na bankovnom racunu: "; cin >> klijent.stanje_na_racunu; cout << "Vrsta transakcije koju klijent zeli obaviti" << endl; do{ cout << "1. Uplate/isplate" << endl; cout << "2. Placanje racuna" << endl; cout << "3. Krediti" << endl; cout << "Vrsta transakcije (1/2/3): "; cin >> izb; if (izb == 1) strcpy (klijent.vrsta_transakcije, "Uplate/isplate"); if (izb == 2) strcpy (klijent.vrsta_transakcije, "Placanje racuna"); if (izb == 3) strcpy (klijent.vrsta_transakcije, "Krediti"); }while(izb != 1 && izb !=2 && izb !=3); EnQueueQ(klijent, Q); }; void pusti (red *Q){ red *pr = new red; red *pr2 = new red; InitQ (pr); InitQ (pr2); do{ klijent = FrontQ(Q); if (klijent.godina < 1945) EnQueueQ(klijent, pr); else EnQueueQ(klijent, pr2); DeQueueQ(Q); }while(IsEmptyQ(Q) != -1); while (IsEmptyQ(pr) != -1){ klijent = FrontQ(pr); EnQueueQ(klijent, Q); DeQueueQ(pr); } while (IsEmptyQ(pr2) != -1){ klijent = FrontQ(pr2); EnQueueQ(klijent, Q); DeQueueQ(pr2); } InitQ(pr); cout << "Stanje na redu: " << endl; do{ klijent = FrontQ(Q); cout << "---------------------------" << endl; cout << "Ime i prezime klijenta: " << klijent.ime_i_prezime << endl; cout << "Godina rodenja: " << klijent.godina << endl; cout << "Stanje na bankovnom racunu: " << klijent.stanje_na_racunu << " kn" << endl; cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl; EnQueueQ(klijent, pr); DeQueueQ(Q); }while(IsEmptyQ(Q) != -1); while (IsEmptyQ(pr) != -1){ klijent = FrontQ(pr); EnQueueQ(klijent, Q); DeQueueQ(pr); } delete pr, pr2; }; void izbaci (red *Q){ red *pr = new red; InitQ(pr); do{ klijent = FrontQ(Q); if (klijent.stanje_na_racunu < 100 && strcmp(klijent.vrsta_transakcije, "Krediti")==0) DeQueueQ(Q); else{ EnQueueQ(klijent, pr); DeQueueQ(Q); } }while(IsEmptyQ(Q) != -1); cout << "Stanje na redu: " << endl; do{ klijent = FrontQ(pr); cout << "---------------------------" << endl; cout << "Ime i prezime klijenta: " << klijent.ime_i_prezime << endl; cout << "Godina rodenja: " << klijent.godina << endl; cout << "Stanje na bankovnom racunu: " << klijent.stanje_na_racunu << " kn" << endl; cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl; EnQueueQ(klijent, Q); DeQueueQ(pr); }while(IsEmptyQ(pr) != -1); delete pr; }; void zatvori(red *Q){ tklijent klijent = FrontQ(Q); DeQueueQ(Q); if (IsEmptyQ(Q) != -1) zatvori (Q); EnQueueQ(klijent, Q); }; void stanje(red *Q){ red *pr = new red; InitQ(pr); cout << "Stanje na redu: " << endl; do{ klijent = FrontQ(Q); cout << "---------------------------" << endl; cout << "Ime i prezime klijenta: " << klijent.ime_i_prezime << endl; cout << "Godina rodenja: " << klijent.godina << endl; cout << "Stanje na bankovnom racunu: " << klijent.stanje_na_racunu << " kn" << endl; cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl; EnQueueQ(klijent, pr); DeQueueQ(Q); }while(IsEmptyQ(Q) != -1); while (IsEmptyQ(pr) != -1){ klijent = FrontQ(pr); EnQueueQ(klijent, Q); DeQueueQ(pr); } delete pr; }; int main(){ int izb; char jos; red *Q = new red; InitQ(Q); do{ cout << endl << "--Izbornik--" << endl; cout << "1. Dodaj zapis o klijentu" << endl; cout << "2. Pusti klijente rodene prije 1945. godine na pocetak reda" << endl; cout << "3. Izbaci klijente iz reda koji na racunu imaju manje od 100 kn i zele kredit" << endl; cout << "4. Zatvori jedan salter i otvoriti drugi" << endl; cout << "9. Izlaz iz programa" << endl; cout << "Izbor: "; cin >> izb; switch(izb){ case 1: do{ dodaj(Q); cout << endl << "Novi zapis (d/n): "; cin >> jos; }while(jos == 'd'); break; case 2: pusti (Q); break; case 3: izbaci(Q);break; case 4: zatvori(Q); stanje(Q);break; } }while(izb != 9); }
Comments
Subscribe to comments
