/ Published in: C++
Expand |
Embed | Plain Text
#include <iostream> using namespace std; struct podaci{ char naziv[40]; int god; float rac; int usluga; }; typedef podaci elementtype; int zavrsetak_rekurzija=0; int n; int z=1; #include "red_cirkularno_polje.h" void unos_u_red (RED *glavni,RED *pomocniS){ int brojac1=0; int brojac2; int izbor; cout<<"Unos"<<endl; elementtype pomocni; cout<<"Koliko klijenata zelite unesti" <<endl; cin >> n; for (int i=0;i<n;i++){ cin.ignore(); cout<<"Unesite ime i prezime "; cin.getline (pomocni.naziv,40); cout<<"Unesite god "; cin>>pomocni.god; cout<<"Unesite stanja na bankovnom računu (u kunama)"; cin>>pomocni.rac; do{ cout<<"Unesite transakciju koju zelite obaviti"<<endl; cout<<"1. Uplate ili Isplate"<<endl; cout<<"2. Placanje računa"<<endl; cout<<"3. Krediti "<<endl; cout<<"Vas izbor: "; cin>>izbor; if (!(izbor ==1 || izbor ==2 || izbor ==3)) cout<<"\n Ponovite unos. pogresan izbor"<<endl; } while (!(izbor ==1 || izbor ==2 || izbor ==3)); pomocni.usluga=izbor; cout << "Klijent "<<pomocni.naziv<<" je stao u red \n" << endl; EnQueueQ(pomocni, glavni); brojac2=0; } cout<<" Nasa banka se brine o starijim osobama te stariji od 65 god idu na pocetak reda"<<endl; cout<<"Starije osobe se propustaju naprijed te rac u redu izgleda: "<<endl; while(brojac1<n){ if (FrontQ(glavni).god < 1945){ cout <<FrontQ(glavni).naziv<< " je "<<brojac2+1<<". u redu (star)" << endl; EnQueueQ(FrontQ(glavni), glavni); DeQueueQ(glavni); brojac2++; } else { EnQueueQ(FrontQ(glavni), pomocniS); DeQueueQ(glavni); } brojac1++; }; while(!IsEmptyQ(pomocniS)){ EnQueueQ(FrontQ(pomocniS), glavni); cout <<FrontQ(pomocniS).naziv<< " je "<<brojac2+1<<". u redu" << endl; DeQueueQ(pomocniS); brojac2++; } } void izbacivanje_nepozeljnih (RED *glavni, RED *pomocni){ int brojac1=0; cout<<"Nasi korisnici nemogu obaviti transakcije kreditiranja ako imaju manje od 100 kn na racunu te ih izbacijemo iz reda"<<endl; while(!IsEmptyQ(glavni)){ if ( FrontQ(glavni).usluga == 3 && FrontQ(glavni).rac < 100){ cout <<"Klijent "<<FrontQ(glavni).naziv<< " je zamoljen da napusti red." << endl; DeQueueQ(glavni); } else { EnQueueQ(FrontQ(glavni), pomocni); DeQueueQ(glavni); } }; cout<<"Nakon sta su osobe koje ne zadovoljavaju kriterije napustile red on izgelda ovako: "<<endl; while(!IsEmptyQ(pomocni)){ EnQueueQ(FrontQ(pomocni), glavni); cout <<FrontQ(pomocni).naziv<< " je "<<brojac1+1<<". u redu" << endl; brojac1++; DeQueueQ(pomocni); }; } void otvaranje_novog (RED *glavni){ elementtype pomocni; pomocni = FrontQ(glavni); DeQueueQ(glavni); if (!IsEmptyQ(glavni) || zavrsetak_rekurzija) otvaranje_novog (glavni); zavrsetak_rekurzija = 1; EnQueueQ(pomocni, glavni); cout <<pomocni.naziv<< " je "<<z<<".u redu" << endl; z++; }; int main(){ int izbor; RED *glavni; glavni = new RED; RED *pomocniS; pomocniS = new RED; InitQ(glavni); InitQ(pomocniS); cout << "*****************************************" << endl; cout << "*\t\tDOBRODOSLI\t\t*" << endl; cout << "* Program simulira rad cekanja u banci *" << endl; cout << "*****************************************" << endl; do { cout << "*************************************************" << endl; cout << "1. Unos klijenata" << endl; cout << "2. Izbacivanje nepozeljnih klijenata" << endl; cout << "3. Otvaranje novog saltera" << endl; cout << "4. izlaz "<<endl; cout << "*************************************************" << endl; cin>>izbor; if (izbor==1)unos_u_red (glavni,pomocniS); if (izbor==2)izbacivanje_nepozeljnih (glavni,pomocniS); if (izbor==3){ cout<<"Nakon sta se otvorio novi salter rac u redu izgleda ovako: "<<endl; otvaranje_novog (glavni); } }while (izbor !=4); system ("pause"); return 0; }
Comments
Subscribe to comments
You need to login to post a comment.

Razlika između mojeg programa i ovog je to što su ovdje mogućnosti rješene pomoću funkcija koje se pozivaju u glavnom programu. Jasmina Kljunic