Posted By

iraus on 11/22/10


Tagged

main funkcija


Versions (?)

Red u banci


 / Published in: C++
 

  1. #include<iostream>
  2. #include<cstring>
  3. #include "red_polje.h"
  4. using namespace std;
  5. int br=0;
  6. red Q;
  7. void unos(){
  8. char trans;
  9. klijent novi;
  10. cout << "\nIme i Prezime: ";
  11. cin.ignore();
  12. cin.getline(novi.preime, 50);
  13. cout << "Godina: ";
  14. cin >> novi.god;
  15. cout << "Stanje na racunu: ";
  16. cin >> novi.stanje;
  17. opet:cout << "Transakcije: " << endl;
  18. cout << "U - uplata/isplata \t\t P - placanje racuna \t\t K - krediti " << endl;
  19. cout << "Obaviti: ";
  20. cin >> novi.trans;
  21. if(novi.trans!='U' && novi.trans!='P' && novi.trans!='K'){
  22. cout << "Nema takve transakcije" << endl;
  23. goto opet;}
  24. EnQueueQ(novi, &Q);
  25. br++;
  26. }
  27.  
  28. void zamjena(){
  29. klijent klijent;
  30. red pomocni;
  31. InitQ(&pomocni);
  32. for(int i=0;i<br;i++){
  33. klijent = FrontQ(&Q);
  34. DeQueueQ(&Q);
  35. if(klijent.god > 1945)
  36. EnQueueQ(klijent, &pomocni);
  37. else
  38. EnQueueQ(klijent, &Q);}
  39. while(!IsEmptyQ(&pomocni)){
  40. klijent = FrontQ(&pomocni);
  41. DeQueueQ(&pomocni);
  42. EnQueueQ(klijent, &Q);
  43. }
  44. cout << "Stanje na redu: " << endl;
  45. for(int i=0; i<br; i++){
  46. klijent = FrontQ(&Q);
  47. DeQueueQ(&Q);
  48. EnQueueQ(klijent, &Q);
  49. cout << endl << "Ime i prezime: " << klijent.preime;
  50. cout << endl << "Godina: " <<klijent.god;
  51. cout << endl << "Vrsta transakcije: ";
  52. if(klijent.trans == 'U')
  53. cout << "Uplata/isplata"<< endl;
  54. else if(klijent.trans == 'P')
  55. cout << "Placanje racuna" << endl;
  56. else if(klijent.trans == 'K')
  57. cout << "Krediti" << endl;
  58. cout << endl << "Stanje na racunu: " <<klijent.stanje<< endl;
  59. cout << endl;
  60. }}
  61.  
  62. void kredit(){
  63. klijent klijent;
  64. int broj = br;
  65. for(int i=0;i<broj; i++){
  66. klijent = FrontQ(&Q);
  67. DeQueueQ(&Q);
  68. --br;
  69. if(!(klijent.stanje<100 && klijent.trans=='K')){
  70. ++br;
  71. EnQueueQ(klijent, &Q);
  72. }}
  73. if(IsEmptyQ(&Q)){
  74. cout << endl << "red je prazan" << endl;
  75. return;
  76. }
  77. cout << endl << "Stanje na redu: " << endl;
  78. for(int i=0; i<br; i++){
  79. klijent = FrontQ(&Q);
  80. DeQueueQ(&Q);
  81. EnQueueQ(klijent, &Q);
  82. cout << endl << "Ime i prezime: " << klijent.preime;
  83. cout << endl << "Godina: " <<klijent.god;
  84. cout << endl << "Vrsta transakcije: ";
  85. if(klijent.trans == 'U')
  86. cout << "Uplata/isplata" << endl;
  87. else if(klijent.trans == 'P')
  88. cout << "Placanje racuna" << endl;
  89. else if(klijent.trans == 'K')
  90. cout << "Krediti" << endl;
  91. cout << "Stanje na racunu: " <<klijent.stanje<< endl;
  92. cout << endl;}
  93. }
  94.  
  95. void salteri(){
  96. klijent klijent = FrontQ(&Q);
  97. DeQueueQ(&Q);
  98. if(!IsEmptyQ(&Q)){
  99. salteri();
  100. }
  101. EnQueueQ(klijent, &Q);
  102. cout<<"\nIme i prezime: "<< klijent.preime<<endl;
  103. cout<<"Godina rodenja: "<< klijent.god<<endl;
  104. cout<<"Stanje na racunu: "<< klijent.stanje<<endl;
  105. cout<<"Vrsta transakcije: "<< klijent.trans<<endl;
  106. cout<<endl;
  107. return;
  108. }
  109.  
  110. int main(){
  111. int iz;
  112. InitQ(&Q);
  113. do{
  114. cout << "-------------Izbor----------------" << endl;
  115. cout << "1. Dodavanje klijenata" << endl;
  116. cout << "2. Pustanje starijih od 65 na pocetak" << endl;
  117. cout << "3. Izbacivanje klijenata s manje od 100kn" << endl;
  118. cout << "4. Zamjena saltera" << endl;
  119. cout << "9. Izlaz" << endl;
  120. cout << "-----------------------------------" << endl;
  121. cout << "Izbor: ";
  122. cin >> iz;
  123. switch(iz){
  124. case 1:unos();
  125. break;
  126. case 2:zamjena();
  127. break;
  128. case 3:kredit();
  129. break;
  130. case 4:
  131. cout << "Stanje na novom salteru:" << endl;
  132. salteri();
  133. break;
  134. }
  135. }while(iz!=9);
  136. system("pause");
  137. return 0;
  138.  
  139. }

Report this snippet  

You need to login to post a comment.