Posted By

petspicko on 11/24/10


Tagged


Versions (?)

strukture 3 main


 / Published in: C++
 

  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct kli {
  6. char ime_prezime[20];
  7. int godina_rodjenja;
  8. int stanje;
  9. int transakcija;
  10. };
  11.  
  12. #include"red_polje.h"
  13. //#include"red_pokazivac.h"
  14.  
  15.  
  16. int broj_unesenih=0;
  17.  
  18.  
  19. void unos_novih(queue* Q) {
  20. kli klijent;
  21. cout << "Ime i prezime klijenta: ";
  22. cin.ignore();
  23. cin.getline(klijent.ime_prezime,20);
  24. cout << "Godina rodjenja klijenta: ";
  25. cin >> klijent.godina_rodjenja;
  26. cout << "Stanje na racunu (u kn): ";
  27. cin >> klijent.stanje;
  28. cout << "Vrsta transakcije " << endl;
  29. cout << "1. Uplata / isplata" << endl;
  30. cout << "2. Placanje racuna" << endl;
  31. cout << "3. Kredit" << endl;
  32. cout << "Unos: ";
  33. cin >> klijent.transakcija;
  34. EnQueueQ(klijent, Q);
  35. broj_unesenih++;
  36. }
  37.  
  38.  
  39. void pusti_starije (queue *Q) {
  40. queue* P = InitQ(P);
  41. kli klijent;
  42. int br = broj_unesenih;
  43. while (br) {
  44. klijent = FrontQ(Q);
  45. DeQueueQ(Q);
  46. cout << ".";
  47. br--;
  48. if(klijent.godina_rodjenja<1945)
  49. EnQueueQ(klijent,Q);
  50. else
  51. EnQueueQ(klijent,P);
  52. }
  53.  
  54. while (!IsEmptyQ(P)){
  55. klijent = FrontQ(P);
  56. DeQueueQ(P);
  57. EnQueueQ(klijent,Q);
  58. }
  59. }
  60.  
  61.  
  62. void izbaci_kredit(queue *Q) {
  63. kli klijent;
  64. int br = broj_unesenih;
  65. while (br) {
  66. klijent = FrontQ(Q);
  67. DeQueueQ(Q);
  68. cout << ".";
  69. br--;
  70. if(klijent.stanje<100 && klijent.transakcija == 3){
  71. cout << endl << "Izbacujem: " << klijent.ime_prezime << endl;
  72. broj_unesenih--;
  73. }
  74. else EnQueueQ(klijent,Q);
  75. }
  76. }
  77.  
  78.  
  79. void novi_salter(queue *Q) {
  80. kli rek_pom;
  81. rek_pom = FrontQ(Q);
  82. DeQueueQ(Q);
  83. if (!IsEmptyQ(Q)) novi_salter(Q);
  84. EnQueueQ(rek_pom,Q);
  85. cout << ".";
  86. }
  87.  
  88.  
  89. void ispis(queue* Q) {
  90. kli klijent;
  91. int br = broj_unesenih;
  92. while (br) {
  93. klijent = FrontQ(Q);
  94. DeQueueQ(Q);
  95. cout << endl;
  96. cout << "Ime i prezime klijenta: " << klijent.ime_prezime << endl;
  97. cout << "Godina rodjenja klijenta: " << klijent.godina_rodjenja << endl;
  98. cout << "Stanje na racunu (u kunama): " << klijent.stanje << endl;
  99. cout << "Transakcija: ";
  100. if (klijent.transakcija==1)
  101. cout << "Uplata/Isplata" << endl;
  102. else if (klijent.transakcija==2)
  103. cout << "Placanje racuna" << endl;
  104. else if (klijent.transakcija==3)
  105. cout << "Kredit" << endl;
  106. cout << endl;
  107. EnQueueQ(klijent,Q);
  108. br--;
  109. }
  110. }
  111.  
  112.  
  113. int main () {
  114. int izbor;
  115. queue* Q = InitQ(Q);
  116. do {
  117. cout << endl << "Izbornik" << endl;
  118. cout << "1. Dodavanje zapisa o klijentima banke u red" << endl;
  119. cout << "2. Propustanje starijih od 65 godina u pocetni red" << endl;
  120. cout << "3. Izbaci kreditno nesposobne " << endl;
  121. cout << "4. Zatvaranje jednog, otvaranje drugog saltera" << endl;
  122. cout << "9. Izlaz iz programa" << endl;
  123. cout << "Vas izbor: ";
  124. cin >> izbor; cout << endl;
  125.  
  126. switch (izbor) {
  127. case 1:
  128. int koliko;
  129. cout << "Koliko zelite unijeti: ";
  130. cin >> koliko;
  131. while (koliko) {
  132. unos_novih(Q);
  133. koliko--;
  134. cout << endl;
  135. }
  136. cout << endl;
  137. break;
  138. case 2:
  139. pusti_starije(Q);
  140. ispis(Q);
  141. cout << endl;
  142. break;
  143. case 3:
  144. izbaci_kredit(Q);
  145. ispis(Q);
  146. cout << endl;
  147. break;
  148. case 4:
  149. novi_salter(Q);
  150. ispis(Q);
  151. cout << endl;
  152. break;
  153.  
  154. case 9:
  155. break;
  156. }
  157. } while (izbor!=9);
  158. return 0;
  159. }

Report this snippet  

You need to login to post a comment.