Posted By

danacc on 11/21/10


Tagged

dasacer


Versions (?)

red_u_banci.cpp


 / Published in: C++
 

  1. #include <iostream>
  2. #include<cstring>
  3. //#include "red_polje.h"
  4. #include "red_pokazivac.h"
  5. using namespace std;
  6. red Q;
  7. void unos(){
  8. klijentiP novi;
  9. cout<<"Unesi ime i prezime klijenta: ";
  10. cin.ignore();
  11. cin.getline(novi.ime_prez,40);
  12. cout<<"Unesi godinu rodjenja: ";
  13. cin>>novi.godina;
  14. cout<<"Unesi stanje na racunu: ";
  15. cin>>novi.stanje;
  16. cout<<"u-Uplata/Isplata; p-Placanje racuna; k-kreditiranje"<<endl;
  17. cout<<"Odaberite transakciju: ";
  18. cin>>novi.transakcija;
  19. EnQueueQ(novi, &Q);
  20. };
  21. void premjesti(){
  22. red mladi;
  23. red stariji;
  24. InitQ(&mladi);
  25. InitQ(&stariji);
  26. klijentiP klijent = FrontQ(&Q);
  27. while(1){
  28. if(klijent.godina > 1945){
  29. EnQueueQ(klijent, &mladi);
  30. DeQueueQ(&Q);
  31. }
  32. else{
  33. EnQueueQ(klijent, &stariji);
  34. DeQueueQ(&Q);
  35. }
  36. if(IsEmptyQ(&Q)){
  37. break;
  38. }
  39. klijent = FrontQ(&Q);
  40. }
  41. cout<<"\nIspis reda:\n";
  42. if(!IsEmptyQ(&stariji)){
  43. klijent = FrontQ(&stariji);
  44. while(1){
  45. EnQueueQ(klijent, &Q);
  46. cout<<"\nIme i prezime: "<<klijent.ime_prez<<endl;
  47. cout<<"Godina rodenja: "<<klijent.godina<<endl;
  48. cout<<"Stanje na racunu: "<<klijent.stanje<<endl;
  49. cout<<"Vrsta transakcije: "<<klijent.transakcija<<endl;
  50. cout<<"------------------------"<<endl;
  51. DeQueueQ(&stariji);
  52. if(IsEmptyQ(&stariji)){
  53. break;
  54. }
  55. klijent = FrontQ(&stariji);
  56. }//while
  57. }//if
  58. if(!IsEmptyQ(&mladi)){
  59. klijent = FrontQ(&mladi);
  60. while(1){
  61. EnQueueQ(klijent, &Q);
  62. cout<<"\nIme i prezime: "<< klijent.ime_prez<<endl;
  63. cout<<"Godina rodenja: "<< klijent.godina<<endl;
  64. cout<<"Stanje na racunu: "<< klijent.stanje<<endl;
  65. cout<<"Vrsta transakcije: "<< klijent.transakcija<<endl;
  66. cout<<"------------------------"<<endl;
  67. DeQueueQ(&mladi);
  68. if(IsEmptyQ(&mladi)){
  69. break;
  70. }
  71. klijent = FrontQ(&mladi);
  72. }//while
  73. }//if
  74. };
  75. void kredit(){
  76. red pomocni;
  77. InitQ(&pomocni);
  78. klijentiP klijent = FrontQ(&Q);
  79. while(1){
  80. if(klijent.stanje < 100 && klijent.transakcija == 'k'){
  81. DeQueueQ(&Q);
  82. }else{
  83. EnQueueQ(klijent, &pomocni);
  84. DeQueueQ(&Q);
  85. }
  86. if(IsEmptyQ(&Q)){
  87. break;
  88. }
  89. klijent = FrontQ(&Q);
  90. }
  91. cout<<"\nIspis reda: \n";
  92. klijent = FrontQ(&pomocni);
  93. while(1){
  94. EnQueueQ(klijent, &Q);
  95. cout<<"\nIme i prezime: "<< klijent.ime_prez<<endl;
  96. cout<<"Godina rodenja: "<< klijent.godina<<endl;
  97. cout<<"Stanje na racunu: "<< klijent.stanje<<endl;
  98. cout<<"Vrsta transakcije: "<< klijent.transakcija<<endl;
  99. cout<<"------------------------"<<endl;
  100. DeQueueQ(&pomocni);
  101. if(IsEmptyQ(&pomocni)){
  102. break;
  103. }
  104. klijent = FrontQ(&pomocni);
  105. }
  106. };
  107.  
  108. void novi_red(){
  109. klijentiP klijent = FrontQ(&Q);
  110. DeQueueQ(&Q);
  111. if(!IsEmptyQ(&Q)){
  112. novi_red();
  113. }
  114. EnQueueQ(klijent, &Q);
  115. cout<<"\nIme i prezime: "<< klijent.ime_prez<<endl;
  116. cout<<"Godina rodenja: "<< klijent.godina<<endl;
  117. cout<<"Stanje na racunu: "<< klijent.stanje<<endl;
  118. cout<<"Vrsta transakcije: "<< klijent.transakcija<<endl;
  119. cout<<"------------------------"<<endl;
  120. return;
  121. };
  122.  
  123. int main(){
  124. int iz,n;
  125. InitQ(&Q);
  126. do{
  127. cout<<"\n1. Dodaj klijenta\n";
  128. cout<<"2. Pusti starije od 65 naprijed\n";
  129. cout<<"3. Izbaci one koji ne mogu dobit kredit\n";
  130. cout<<"4. Zamjeni salter\n";
  131. cout<<"9. izlaz\nIzbor: ";
  132. cin>>iz;
  133. switch(iz){
  134. case 1:
  135. unos();
  136. break;
  137. case 2:
  138. premjesti();
  139. break;
  140. case 3:
  141. kredit();
  142. break;
  143. case 4: cout<<"\nObrnuti redoslijed: " << endl;
  144. novi_red();
  145. break;
  146. case 9: cout<<"Kraj! ";
  147. break;
  148. default: cout<<"Pogresan izbor!\n";
  149. }
  150. }while(iz!=9);
  151. system("pause");
  152. return 0;
  153. }

Report this snippet  

You need to login to post a comment.