Posted By

lkuzmin on 11/21/10


Tagged


Versions (?)

Glavni_program


 / Published in: C++
 

  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct podaci{
  5. char naziv[40];
  6. int god;
  7. float rac;
  8. int usluga;
  9. };
  10.  
  11. typedef podaci elementtype;
  12.  
  13. int zavrsetak_rekurzija=0;
  14. int n;
  15. int z=1;
  16.  
  17. #include "red_cirkularno_polje.h"
  18.  
  19.  
  20.  
  21.  
  22. void unos_u_red (RED *glavni,RED *pomocniS){
  23. int brojac1=0;
  24. int brojac2;
  25. int izbor;
  26.  
  27. cout<<"Unos"<<endl;
  28. elementtype pomocni;
  29.  
  30. cout<<"Koliko klijenata zelite unesti" <<endl;
  31. cin >> n;
  32. for (int i=0;i<n;i++){
  33. cin.ignore();
  34. cout<<"Unesite ime i prezime ";
  35. cin.getline (pomocni.naziv,40);
  36. cout<<"Unesite god ";
  37. cin>>pomocni.god;
  38. cout<<"Unesite stanja na bankovnom računu (u kunama)";
  39. cin>>pomocni.rac;
  40. do{
  41. cout<<"Unesite transakciju koju zelite obaviti"<<endl;
  42. cout<<"1. Uplate ili Isplate"<<endl;
  43. cout<<"2. Placanje računa"<<endl;
  44. cout<<"3. Krediti "<<endl;
  45. cout<<"Vas izbor: ";
  46. cin>>izbor;
  47. if (!(izbor ==1 || izbor ==2 || izbor ==3)) cout<<"\n Ponovite unos. pogresan izbor"<<endl;
  48. } while (!(izbor ==1 || izbor ==2 || izbor ==3));
  49. pomocni.usluga=izbor;
  50. cout << "Klijent "<<pomocni.naziv<<" je stao u red \n" << endl;
  51. EnQueueQ(pomocni, glavni);
  52. brojac2=0;
  53. }
  54.  
  55. cout<<" Nasa banka se brine o starijim osobama te stariji od 65 god idu na pocetak reda"<<endl;
  56. cout<<"Starije osobe se propustaju naprijed te rac u redu izgleda: "<<endl;
  57. while(brojac1<n){
  58. if (FrontQ(glavni).god < 1945){
  59. cout <<FrontQ(glavni).naziv<< " je "<<brojac2+1<<". u redu (star)" << endl;
  60. EnQueueQ(FrontQ(glavni), glavni);
  61. DeQueueQ(glavni);
  62. brojac2++;
  63. }
  64. else {
  65. EnQueueQ(FrontQ(glavni), pomocniS);
  66. DeQueueQ(glavni);
  67. }
  68. brojac1++;
  69. };
  70.  
  71. while(!IsEmptyQ(pomocniS)){
  72. EnQueueQ(FrontQ(pomocniS), glavni);
  73. cout <<FrontQ(pomocniS).naziv<< " je "<<brojac2+1<<". u redu" << endl;
  74. DeQueueQ(pomocniS);
  75. brojac2++;
  76. }
  77. }
  78.  
  79.  
  80. void izbacivanje_nepozeljnih (RED *glavni, RED *pomocni){
  81. int brojac1=0;
  82. cout<<"Nasi korisnici nemogu obaviti transakcije kreditiranja ako imaju manje od 100 kn na racunu te ih izbacijemo iz reda"<<endl;
  83. while(!IsEmptyQ(glavni)){
  84. if ( FrontQ(glavni).usluga == 3 && FrontQ(glavni).rac < 100){
  85. cout <<"Klijent "<<FrontQ(glavni).naziv<< " je zamoljen da napusti red." << endl;
  86. DeQueueQ(glavni);
  87. }
  88.  
  89. else {
  90. EnQueueQ(FrontQ(glavni), pomocni);
  91. DeQueueQ(glavni);
  92. }
  93. };
  94. cout<<"Nakon sta su osobe koje ne zadovoljavaju kriterije napustile red on izgelda ovako: "<<endl;
  95. while(!IsEmptyQ(pomocni)){
  96. EnQueueQ(FrontQ(pomocni), glavni);
  97. cout <<FrontQ(pomocni).naziv<< " je "<<brojac1+1<<". u redu" << endl;
  98. brojac1++;
  99. DeQueueQ(pomocni);
  100. };
  101. }
  102.  
  103.  
  104. void otvaranje_novog (RED *glavni){
  105. elementtype pomocni;
  106. pomocni = FrontQ(glavni);
  107. DeQueueQ(glavni);
  108. if (!IsEmptyQ(glavni) || zavrsetak_rekurzija) otvaranje_novog (glavni);
  109. zavrsetak_rekurzija = 1;
  110.  
  111. EnQueueQ(pomocni, glavni);
  112. cout <<pomocni.naziv<< " je "<<z<<".u redu" << endl;
  113. z++;
  114. };
  115.  
  116.  
  117.  
  118. int main(){
  119. int izbor;
  120. RED *glavni;
  121. glavni = new RED;
  122. RED *pomocniS;
  123. pomocniS = new RED;
  124.  
  125. InitQ(glavni);
  126. InitQ(pomocniS);
  127.  
  128. cout << "*****************************************" << endl;
  129. cout << "*\t\tDOBRODOSLI\t\t*" << endl;
  130. cout << "* Program simulira rad cekanja u banci *" << endl;
  131. cout << "*****************************************" << endl;
  132. do {
  133. cout << "*************************************************" << endl;
  134. cout << "1. Unos klijenata" << endl;
  135. cout << "2. Izbacivanje nepozeljnih klijenata" << endl;
  136. cout << "3. Otvaranje novog saltera" << endl;
  137. cout << "4. izlaz "<<endl;
  138. cout << "*************************************************" << endl;
  139. cin>>izbor;
  140. if (izbor==1)unos_u_red (glavni,pomocniS);
  141. if (izbor==2)izbacivanje_nepozeljnih (glavni,pomocniS);
  142. if (izbor==3){
  143. cout<<"Nakon sta se otvorio novi salter rac u redu izgleda ovako: "<<endl;
  144. otvaranje_novog (glavni);
  145. }
  146. }while (izbor !=4);
  147. system ("pause");
  148. return 0;
  149. }

Report this snippet  

Comments

RSS Icon Subscribe to comments
Posted By: jakljunic on November 22, 2010

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

You need to login to post a comment.