simulacija reda u banci.cpp


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



Copy this code and paste it in your HTML
  1. #include <iostream>
  2. #include "red_pok.h"
  3. //#include red_pol.h
  4.  
  5. using namespace std;
  6.  
  7. int br_kl=0;
  8.  
  9. void ispis_reda(qu *red){
  10. elementtype pom;
  11. for (int i=0;i<br_kl;i++){
  12. pom = FrontQ(red);
  13. DequeueQ(red);
  14. EnqueueQ(pom,red) ;
  15. cout <<"--------------------------------\n";
  16. cout <<"Ime klijenta : "<<pom.ime<<endl;
  17. cout <<"Prezime klijenta : "<<pom.prezime<<endl;
  18. cout <<"Godina rodenja : "<<pom.godina<<endl;
  19. cout <<"Stanje racuna : "<<pom.stanje<<endl;
  20. cout <<"Opcija klijenta : "<<pom.trans<<endl;
  21. }
  22. }
  23.  
  24. void penzici(elementtype pom, qu *red){
  25. elementtype pom_1;
  26. qu *pom_red = new qu;
  27. InitQ(pom_red);
  28. int i=0;
  29. if (pom.godina <= 1945){
  30.  
  31. while (!IsEmptyQ(red)){
  32. EnqueueQ(FrontQ(red),pom_red);
  33. DequeueQ(red);
  34. i++;
  35. }
  36. EnqueueQ(pom,red);
  37.  
  38. while (!IsEmptyQ(pom_red)){
  39.  
  40. EnqueueQ(FrontQ(pom_red), red);
  41. DequeueQ(pom_red);
  42. }
  43. }
  44. else EnqueueQ(pom,red);
  45. }
  46.  
  47. void ulazak_klijenta(qu *red){
  48. elementtype pom;
  49. char jos;
  50. do{
  51. cout <<"Ime klijenta : ";
  52. cin.ignore();
  53. cin.getline(pom.ime,20);
  54. cout <<"Prezime klijenta : ";
  55. cin.getline(pom.prezime,20);
  56. do{
  57. cout <<"Godina rodenja : ";
  58. cin >> pom.godina;
  59. }while(pom.godina <1900 || pom.godina>2010);
  60. cout <<"Stanje racuna : ";
  61. cin >> pom.stanje;
  62. do{
  63. cout <<"\nVrsta usluge : \n";
  64. cout <<"1. Uplata/Isplata\n";
  65. cout <<"2. Placanje racna\n";
  66. cout <<"3. Kreditiranje\n";
  67. cout <<"Vas izbor : "; cin >> pom.trans;
  68. }while(pom.trans != 1 && pom.trans != 2 && pom.trans != 3);
  69. penzici(pom,red);
  70. br_kl++;
  71. cout <<"Unositi jos klijenata (d/n):"; cin >> jos;
  72.  
  73. }while(jos =='d'|| jos=='D');
  74. }
  75.  
  76. void izbaci_nekreditne(qu *red){
  77. elementtype pom;
  78. int prom=0;
  79. for(int i=0;i<br_kl;i++){
  80. pom = FrontQ(red);
  81.  
  82. DequeueQ(red);
  83. prom--;
  84. if (pom.trans == 3 && pom.stanje<100){
  85. cout <<"--------------------------------\n";
  86. cout <<"Ime klijenta : "<<pom.ime<<endl;
  87. cout <<"Prezime klijenta : "<<pom.prezime<<endl;
  88. cout <<"Godina rodenja : "<<pom.godina<<endl;
  89. cout <<"Stanje racuna : "<<pom.stanje<<endl;
  90. cout <<"Opcija klijenta : "<<pom.trans<<endl;
  91. }
  92. else{
  93. EnqueueQ(pom,red);
  94. prom++;
  95. }
  96. }
  97. br_kl=br_kl+prom;
  98. }
  99.  
  100. void novi_red(qu *red,int b_red){
  101. elementtype pom;
  102. if (!IsEmptyQ(red) && b_red!=0){
  103. pom = FrontQ(red);
  104. DequeueQ(red);
  105. if (pom.godina<1945)
  106. EnqueueQ(pom,red);
  107. b_red--;
  108. novi_red(red,b_red);
  109. if (pom.godina>=1945)
  110. EnqueueQ(pom,red);
  111. }
  112. else return;
  113. }
  114. int main(){
  115. int izbor;
  116. qu *red = new qu;
  117. InitQ(red);
  118. do{
  119. cout <<"\nIZBORNIK\n\n";
  120. cout <<"1. Dodavanje zapisa o klijentima banke\n";
  121. cout <<"2. Odobravanje kredita?\n";
  122. cout <<"3. Otvoraranje/zatvaranje saltera\n";
  123. cout <<"9. Izlaz iz programa\n";
  124. cout <<"\nVas izbor : "; cin >>izbor;
  125. switch (izbor){
  126. case 1:
  127. cout <<"\n---------Ulazak klijenta-------\n\n";
  128. ulazak_klijenta(red);
  129. ispis_reda(red);
  130. break;
  131. case 2:
  132. if (!IsEmptyQ(red)){
  133. cout <<"\nIzbacujem : \n";
  134. izbaci_nekreditne(red);
  135. cout <<"\nStanje reda : \n";
  136. ispis_reda(red);
  137. }
  138. else cout <<"\nNikog nema u redu !!\n\n";
  139. break;
  140. case 3:
  141. int b_red;
  142. b_red=br_kl;
  143. if (!IsEmptyQ(red)){
  144. novi_red(red,b_red);
  145. ispis_reda(red);
  146. }
  147. else cout <<"\nNikog nema u redu !!\n\n";
  148. break;
  149. case 9:
  150. break;
  151. }
  152. }while(izbor != 9);
  153.  
  154. return 0;
  155. }
  156.  
  157. //Iva Kis

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.