Posted By


redops28 on 11/20/10

Tagged


Statistics


Viewed 76 times
Favorited by 0 user(s)

SP_Z3_glavni_program_jz.cpp


/ Published in: C++
Save to your folder(s)

SP_Z3


Copy this code and paste it in your HTML
  1. #include <iostream>
  2. struct tklijent {
  3. int godina, stanje_na_racunu;
  4. char ime_i_prezime[40], vrsta_transakcije[30];
  5. };
  6. //#include "red_polje.h"
  7. #include "red_pokazivac.h"
  8. using namespace std;
  9. tklijent klijent, klijent2;
  10.  
  11. void dodaj (red *Q){
  12. int izb;
  13. cin.ignore();
  14. cout << "Ime i prezime klijenta: ";
  15. cin.getline(klijent.ime_i_prezime, 40);
  16.  
  17. cout << "Godina rodenja: ";
  18. cin >> klijent.godina;
  19.  
  20. cout << "Stanje na bankovnom racunu: ";
  21. cin >> klijent.stanje_na_racunu;
  22.  
  23. cout << "Vrsta transakcije koju klijent zeli obaviti" << endl;
  24. do{
  25. cout << "1. Uplate/isplate" << endl;
  26. cout << "2. Placanje racuna" << endl;
  27. cout << "3. Krediti" << endl;
  28. cout << "Vrsta transakcije (1/2/3): ";
  29. cin >> izb;
  30. if (izb == 1) strcpy (klijent.vrsta_transakcije, "Uplate/isplate");
  31. if (izb == 2) strcpy (klijent.vrsta_transakcije, "Placanje racuna");
  32. if (izb == 3) strcpy (klijent.vrsta_transakcije, "Krediti");
  33. }while(izb != 1 && izb !=2 && izb !=3);
  34. EnQueueQ(klijent, Q);
  35. };
  36.  
  37. void pusti (red *Q){
  38. red *pr = new red;
  39. red *pr2 = new red;
  40. InitQ (pr);
  41. InitQ (pr2);
  42.  
  43. do{
  44. klijent = FrontQ(Q);
  45. if (klijent.godina < 1945) EnQueueQ(klijent, pr);
  46. else EnQueueQ(klijent, pr2);
  47.  
  48. DeQueueQ(Q);
  49. }while(IsEmptyQ(Q) != -1);
  50.  
  51. while (IsEmptyQ(pr) != -1){
  52. klijent = FrontQ(pr);
  53. EnQueueQ(klijent, Q);
  54. DeQueueQ(pr);
  55. }
  56. while (IsEmptyQ(pr2) != -1){
  57. klijent = FrontQ(pr2);
  58. EnQueueQ(klijent, Q);
  59. DeQueueQ(pr2);
  60. }
  61.  
  62. InitQ(pr);
  63. cout << "Stanje na redu: " << endl;
  64. do{
  65. klijent = FrontQ(Q);
  66. cout << "---------------------------" << endl;
  67. cout << "Ime i prezime klijenta: " << klijent.ime_i_prezime << endl;
  68. cout << "Godina rodenja: " << klijent.godina << endl;
  69. cout << "Stanje na bankovnom racunu: " << klijent.stanje_na_racunu << " kn" << endl;
  70. cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
  71. EnQueueQ(klijent, pr);
  72. DeQueueQ(Q);
  73. }while(IsEmptyQ(Q) != -1);
  74.  
  75. while (IsEmptyQ(pr) != -1){
  76. klijent = FrontQ(pr);
  77. EnQueueQ(klijent, Q);
  78. DeQueueQ(pr);
  79. }
  80.  
  81. delete pr, pr2;
  82. };
  83.  
  84.  
  85. void izbaci (red *Q){
  86. red *pr = new red;
  87. InitQ(pr);
  88. do{
  89. klijent = FrontQ(Q);
  90. if (klijent.stanje_na_racunu < 100 && strcmp(klijent.vrsta_transakcije, "Krediti")==0) DeQueueQ(Q);
  91. else{
  92. EnQueueQ(klijent, pr);
  93. DeQueueQ(Q);
  94. }
  95. }while(IsEmptyQ(Q) != -1);
  96.  
  97. cout << "Stanje na redu: " << endl;
  98. do{
  99. klijent = FrontQ(pr);
  100. cout << "---------------------------" << endl;
  101. cout << "Ime i prezime klijenta: " << klijent.ime_i_prezime << endl;
  102. cout << "Godina rodenja: " << klijent.godina << endl;
  103. cout << "Stanje na bankovnom racunu: " << klijent.stanje_na_racunu << " kn" << endl;
  104. cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
  105. EnQueueQ(klijent, Q);
  106. DeQueueQ(pr);
  107. }while(IsEmptyQ(pr) != -1);
  108. delete pr;
  109. };
  110.  
  111. void zatvori(red *Q){
  112. tklijent klijent = FrontQ(Q);
  113. DeQueueQ(Q);
  114. if (IsEmptyQ(Q) != -1) zatvori (Q);
  115. EnQueueQ(klijent, Q);
  116. };
  117.  
  118. void stanje(red *Q){
  119. red *pr = new red;
  120. InitQ(pr);
  121. cout << "Stanje na redu: " << endl;
  122. do{
  123. klijent = FrontQ(Q);
  124. cout << "---------------------------" << endl;
  125. cout << "Ime i prezime klijenta: " << klijent.ime_i_prezime << endl;
  126. cout << "Godina rodenja: " << klijent.godina << endl;
  127. cout << "Stanje na bankovnom racunu: " << klijent.stanje_na_racunu << " kn" << endl;
  128. cout << "Vrsta transakcije: " << klijent.vrsta_transakcije << endl;
  129. EnQueueQ(klijent, pr);
  130. DeQueueQ(Q);
  131. }while(IsEmptyQ(Q) != -1);
  132.  
  133. while (IsEmptyQ(pr) != -1){
  134. klijent = FrontQ(pr);
  135. EnQueueQ(klijent, Q);
  136. DeQueueQ(pr);
  137. }
  138.  
  139. delete pr;
  140. };
  141.  
  142. int main(){
  143. int izb;
  144. char jos;
  145. red *Q = new red;
  146. InitQ(Q);
  147. do{
  148. cout << endl << "--Izbornik--" << endl;
  149. cout << "1. Dodaj zapis o klijentu" << endl;
  150. cout << "2. Pusti klijente rodene prije 1945. godine na pocetak reda" << endl;
  151. cout << "3. Izbaci klijente iz reda koji na racunu imaju manje od 100 kn i zele kredit" << endl;
  152. cout << "4. Zatvori jedan salter i otvoriti drugi" << endl;
  153. cout << "9. Izlaz iz programa" << endl;
  154. cout << "Izbor: ";
  155. cin >> izb;
  156. switch(izb){
  157. case 1: do{
  158. dodaj(Q);
  159. cout << endl << "Novi zapis (d/n): ";
  160. cin >> jos;
  161. }while(jos == 'd');
  162. break;
  163. case 2: pusti (Q); break;
  164. case 3: izbaci(Q);break;
  165. case 4: zatvori(Q);
  166. stanje(Q);break;
  167. }
  168. }while(izb != 9);
  169.  
  170. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.