Posted By

horeski on 11/21/10


Tagged

3 Strukture podataka zadatak


Versions (?)

banka.cpp


 / Published in: C++
 

  1. #include<iostream>
  2. #include<cstring>
  3. #include "red_polje.h"
  4. //#include "red_polja.h"
  5. using namespace std;
  6.  
  7. int k=0;
  8.  
  9. void ispis_stanja(red *A){
  10. tbanka b;
  11. int broj=k;
  12. while(broj){
  13. b=FrontQ(A);
  14. DeQueueQ(A);
  15. cout<<"\n Ime i prezime klijenta : "<<b.ime<<endl;
  16. cout<<" Godine rodjenja : "<<b.god<<endl;
  17. cout<<" Stanje na bankovnom racunu : "<<b.racun<<" HRK "<<endl;
  18. cout<<" Vrsta zeljene transakcije : "<<b.tran<<endl;
  19. cout<<"______________________________________"<<endl;
  20. EnQueueQ(b,A);
  21. broj--;
  22. }//while
  23. }//void ispis_stanja
  24.  
  25. void dodavanje_klijenata(red *A){
  26. char jos = 'd';
  27. tbanka b;
  28. int u;
  29. cout<<"Dodavanje klijenata u red... "<<endl;
  30. while (jos == 'd' || jos == 'D'){
  31. cout<<"\n Ime i prezime klijenta : ";
  32. cin.ignore();
  33. cin.getline(b.ime, 50);
  34. cout<<" Godina rodjenja : ";
  35. cin>>b.god;
  36. cout<<" Stanje na bankovnom racunu (u HRK) : ";
  37. cin>>b.racun;
  38. cout<<" Odabrati vrstu transakcije : "<<endl;
  39. cout<<" 1. uplata/isplata "<<endl;
  40. cout<<" 2. placanje racuna "<<endl;
  41. cout<<" 3. kredit "<<endl;
  42. cout<<" Vas odabir : ";
  43. cin>>u;
  44. if(u==1) strcpy(b.tran, "uplata/isplata");
  45. if(u==2) strcpy(b.tran, "placanje racuna");
  46. if(u==3) strcpy(b.tran, "kredit");
  47. EnQueueQ(b,A);
  48. k++;
  49. cout << "\nZelite dodati jos klijenata (d/n) ? ";
  50. cin >> jos;
  51. }//while
  52. }//void dodavanje_klijenata
  53.  
  54.  
  55. void premjestaj(red *A){
  56. red *pom = InitQ(pom);
  57. tbanka b;
  58. int broj=k;
  59. while(broj){
  60. b=FrontQ(A);
  61. DeQueueQ(A);
  62. if(b.god >1945)
  63. EnQueueQ(b,pom);
  64. else{
  65. EnQueueQ(b,A);}//else
  66. broj--;
  67. }//while(broj)
  68. while(!IsEmptyQ(pom)){
  69. b=FrontQ(pom);
  70. DeQueueQ(pom);
  71. EnQueueQ(b,A);
  72. }//while(!IsEmpty)
  73. ispis_stanja(A);
  74. }//void premjestaj
  75.  
  76. void izbacivanje_iz_reda(red *A){
  77. if(IsEmptyQ(A)==0){
  78. red *pom=InitQ(pom);
  79. tbanka b;
  80. int broj=k;
  81. while(broj){
  82. b=FrontQ(A);
  83. DeQueueQ(A);
  84. if(b.racun<100 && strcmp(b.tran, "kredit")==0 )
  85. k--;
  86. else EnQueueQ(b,A);
  87. broj--;
  88. }//while
  89. ispis_stanja(A);
  90. }
  91. else cout<<"Red je prazan"<<endl;
  92. }//void izbacivanje_iz_reda
  93.  
  94. void otvaranje_reda(red *A){
  95. if(IsEmptyQ(A)==0){
  96. tbanka b;
  97. b=FrontQ(A);
  98. DeQueueQ(A);
  99. if(!IsEmptyQ(A)) otvaranje_reda(A);
  100. EnQueueQ(b,A);
  101. }
  102. else cout<<"Red je prazan"<<endl;
  103. }//void otvaranje_reda
  104.  
  105. int main(){
  106. int izbor;
  107. red *A = InitQ(A);
  108. do{ cout<<"--------------------------------------"<<endl;
  109. cout<<"_________Dobrodosli u izbornik________"<<endl;
  110. cout<<"\n1. Dodati klijenta banke u red "<<endl;
  111. cout<<"2. Izbacivanje klijenata iz reda "<<endl;
  112. cout<<"3. Zatvaranje saltera "<<endl;
  113. cout<<"9. Izlaz ih programa "<<endl;
  114. cout<<" Vas izbor ? "<<endl;
  115. cout<<"______________________________________"<<endl;
  116. cout<<"--------------------------------------"<<endl;
  117. cin>>izbor;
  118. cout<<endl;
  119. switch(izbor){
  120. case 1: {
  121. dodavanje_klijenata(A);
  122. premjestaj(A);
  123. break;
  124. }//case 1
  125. case 2: {
  126. izbacivanje_iz_reda(A);
  127. break;
  128. }//case 2
  129. case 3: {
  130. otvaranje_reda(A);
  131. ispis_stanja(A);
  132. break;
  133. }//case 3
  134. case 9: { cout<<" Izlazim iz programa "<<endl;
  135. break;
  136. }//case 9
  137. default: cout<<" Pogresan unos ! "<<endl;
  138. break;
  139. }//switch
  140. }while(izbor!=9);
  141. system("pause");
  142. return 0;
  143. }//int main
  144. //Hrvoje Oreski

Report this snippet  

You need to login to post a comment.