Posted By

Nikolak on 11/22/10


Tagged


Versions (?)

Strukture podataka zadatak 3 main


 / Published in: C++
 

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

Report this snippet  

You need to login to post a comment.