Posted By

dknezic on 11/21/10


Tagged

program


Versions (?)

Program_banka


 / Published in: C++
 

  1. #include <iostream>
  2. #include "red_polje.h"
  3. //#include "red_pokazivac.h"
  4.  
  5. using namespace std;
  6.  
  7. int br_unosa=0;
  8.  
  9. void stariji(red *banka)
  10. {
  11. tpodaci ispis;
  12. red pomocni;
  13. InitQ(&pomocni);
  14.  
  15. while(br_unosa)
  16. {
  17. ispis=FrontQ(banka);
  18. DeQueueQ(banka);
  19. if(ispis.godina<1945)
  20. {
  21. EnQueueQ(ispis,banka);
  22. }
  23. else
  24. {
  25. EnQueueQ(ispis,&pomocni);
  26. }
  27. br_unosa--;
  28. }
  29. while(!IsEmptyQ(&pomocni))
  30. {
  31. ispis=FrontQ(&pomocni);
  32. DeQueueQ(&pomocni);
  33. EnQueueQ(ispis,banka);
  34. }
  35. cout<<"Stanje u redu"<<endl;
  36. cout<<"---------------------------"<<endl;
  37. while(!IsEmptyQ(banka))
  38. {
  39. ispis=FrontQ(banka);
  40. DeQueueQ(banka);
  41. cout<<"Ime i prezime: "<<ispis.ime<<endl;
  42. cout<<"Godina rodjenja: "<<ispis.godina<<endl;
  43. cout<<"Stanje racuna: "<<ispis.stanje<<endl;
  44. cout<<"Transakcija: "<<ispis.transakcija<<endl;
  45. cout<<"----------------------------------"<<endl;
  46. }
  47. }
  48.  
  49. void unos(red *banka)
  50. {
  51. tpodaci novi;
  52. red pomocni;
  53. cin.ignore();
  54. cout<<"Ime i prezime klijenta: ";cin.getline(novi.ime,30);
  55. cout<<"Godina rodjenja: ";cin>>novi.godina;
  56. cout<<"Stanje racuna: ";cin>>novi.stanje;
  57. cout<<"Transakcija(u/i/k/p): ";cin>>novi.transakcija;
  58. EnQueueQ(novi,banka);
  59. br_unosa++;
  60. }
  61.  
  62. void manjeOd100(red *banka)
  63. {
  64. tpodaci manje;
  65. red pomocni;
  66. InitQ(&pomocni);
  67. while(br_unosa)
  68. {
  69. manje=FrontQ(banka);
  70. DeQueueQ(banka);
  71. if(manje.stanje<100&&manje.transakcija=='k')
  72. {}
  73. else
  74. {
  75. EnQueueQ(manje,banka);
  76. }
  77. br_unosa--;
  78. }
  79. cout<<"Stanje u redu"<<endl;
  80. cout<<"----------------------------"<<endl;
  81. while(!IsEmptyQ(banka))
  82. {
  83. manje=FrontQ(banka);
  84. DeQueueQ(banka);
  85. cout<<"Ime i prezime: "<<manje.ime<<endl;
  86. cout<<"Godina rodjenja: "<<manje.godina<<endl;
  87. cout<<"Stanje racuna: "<<manje.stanje<<endl;
  88. cout<<"Transakcija: "<<manje.transakcija<<endl;
  89. cout<<"----------------------------------"<<endl;
  90. }
  91. }
  92.  
  93. void otvori_novi(red *banka)
  94. {
  95. tpodaci obrnuto;
  96. obrnuto=FrontQ(banka);
  97. DeQueueQ(banka);
  98. if(!IsEmptyQ(banka)) otvori_novi(banka);
  99. EnQueueQ(obrnuto,banka);
  100. while(!IsEmptyQ(banka))
  101. {
  102. obrnuto=FrontQ(banka);
  103. DeQueueQ(banka);
  104. cout<<"Ime i prezime: "<<obrnuto.ime<<endl;
  105. cout<<"Godina rodjenja: "<<obrnuto.godina<<endl;
  106. cout<<"Stanje racuna: "<<obrnuto.stanje<<endl;
  107. cout<<"Transakcija: "<<obrnuto.transakcija<<endl;
  108. cout<<"----------------------------------"<<endl;
  109. }
  110. }
  111.  
  112. int main()
  113. {
  114. int izbor;
  115. red banka;
  116. InitQ(&banka);
  117. do
  118. {
  119. cout<<"Izbornik"<<endl;
  120. cout<<"---------------------------"<<endl;
  121. cout<<"1. Dodavanje klijenata u red"<<endl;
  122. cout<<"2. Starije od 65 prebaci naprijed"<<endl;
  123. cout<<"3. Izbacivanje klijenata koji imaju manje od 100 kn"<<endl;
  124. cout<<"4. Simulacija zatvaranje/otvaranje saltera"<<endl;
  125. cout<<"9. Izlaz"<<endl<<endl;
  126. cout<<"Odabir: ";cin>>izbor;
  127. switch(izbor)
  128. {
  129. case 1:
  130. {
  131. unos(&banka);
  132. cout<<endl;
  133. break;
  134. }
  135. case 2:
  136. {
  137. stariji(&banka);
  138. cout<<endl;
  139. break;
  140. }
  141. case 3:
  142. {
  143. manjeOd100(&banka);
  144. cout<<endl;
  145. break;
  146. }
  147. case 4:
  148. {
  149. cout<<"Stanje u redu"<<endl;
  150. cout<<"--------------------------"<<endl;
  151. otvori_novi(&banka);
  152. cout<<endl;
  153. break;
  154. }
  155. case 9:
  156. {
  157. return 0;
  158. }
  159. }
  160. }while(1);
  161. }

Report this snippet  

You need to login to post a comment.