/ Published in: C++
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include <iostream> #include<cstring> //#include "red_polje.h" #include "red_pokazivac.h" using namespace std; red Q; void unos(){ klijentiP novi; cout<<"Unesi ime i prezime klijenta: "; cin.ignore(); cin.getline(novi.ime_prez,40); cout<<"Unesi godinu rodjenja: "; cin>>novi.godina; cout<<"Unesi stanje na racunu: "; cin>>novi.stanje; cout<<"u-Uplata/Isplata; p-Placanje racuna; k-kreditiranje"<<endl; cout<<"Odaberite transakciju: "; cin>>novi.transakcija; EnQueueQ(novi, &Q); }; void premjesti(){ red mladi; red stariji; InitQ(&mladi); InitQ(&stariji); klijentiP klijent = FrontQ(&Q); while(1){ if(klijent.godina > 1945){ EnQueueQ(klijent, &mladi); DeQueueQ(&Q); } else{ EnQueueQ(klijent, &stariji); DeQueueQ(&Q); } if(IsEmptyQ(&Q)){ break; } klijent = FrontQ(&Q); } cout<<"\nIspis reda:\n"; if(!IsEmptyQ(&stariji)){ klijent = FrontQ(&stariji); while(1){ EnQueueQ(klijent, &Q); cout<<"\nIme i prezime: "<<klijent.ime_prez<<endl; cout<<"Godina rodenja: "<<klijent.godina<<endl; cout<<"Stanje na racunu: "<<klijent.stanje<<endl; cout<<"Vrsta transakcije: "<<klijent.transakcija<<endl; cout<<"------------------------"<<endl; DeQueueQ(&stariji); if(IsEmptyQ(&stariji)){ break; } klijent = FrontQ(&stariji); }//while }//if if(!IsEmptyQ(&mladi)){ klijent = FrontQ(&mladi); while(1){ EnQueueQ(klijent, &Q); cout<<"\nIme i prezime: "<< klijent.ime_prez<<endl; cout<<"Godina rodenja: "<< klijent.godina<<endl; cout<<"Stanje na racunu: "<< klijent.stanje<<endl; cout<<"Vrsta transakcije: "<< klijent.transakcija<<endl; cout<<"------------------------"<<endl; DeQueueQ(&mladi); if(IsEmptyQ(&mladi)){ break; } klijent = FrontQ(&mladi); }//while }//if }; void kredit(){ red pomocni; InitQ(&pomocni); klijentiP klijent = FrontQ(&Q); while(1){ if(klijent.stanje < 100 && klijent.transakcija == 'k'){ DeQueueQ(&Q); }else{ EnQueueQ(klijent, &pomocni); DeQueueQ(&Q); } if(IsEmptyQ(&Q)){ break; } klijent = FrontQ(&Q); } cout<<"\nIspis reda: \n"; klijent = FrontQ(&pomocni); while(1){ EnQueueQ(klijent, &Q); cout<<"\nIme i prezime: "<< klijent.ime_prez<<endl; cout<<"Godina rodenja: "<< klijent.godina<<endl; cout<<"Stanje na racunu: "<< klijent.stanje<<endl; cout<<"Vrsta transakcije: "<< klijent.transakcija<<endl; cout<<"------------------------"<<endl; DeQueueQ(&pomocni); if(IsEmptyQ(&pomocni)){ break; } klijent = FrontQ(&pomocni); } }; void novi_red(){ klijentiP klijent = FrontQ(&Q); DeQueueQ(&Q); if(!IsEmptyQ(&Q)){ novi_red(); } EnQueueQ(klijent, &Q); cout<<"\nIme i prezime: "<< klijent.ime_prez<<endl; cout<<"Godina rodenja: "<< klijent.godina<<endl; cout<<"Stanje na racunu: "<< klijent.stanje<<endl; cout<<"Vrsta transakcije: "<< klijent.transakcija<<endl; cout<<"------------------------"<<endl; return; }; int main(){ int iz,n; InitQ(&Q); do{ cout<<"\n1. Dodaj klijenta\n"; cout<<"2. Pusti starije od 65 naprijed\n"; cout<<"3. Izbaci one koji ne mogu dobit kredit\n"; cout<<"4. Zamjeni salter\n"; cout<<"9. izlaz\nIzbor: "; cin>>iz; switch(iz){ case 1: unos(); break; case 2: premjesti(); break; case 3: kredit(); break; case 4: cout<<"\nObrnuti redoslijed: " << endl; novi_red(); break; case 9: cout<<"Kraj! "; break; default: cout<<"Pogresan izbor!\n"; } }while(iz!=9); system("pause"); return 0; }