Posted By

icepeak on 11/21/10


Tagged

Strukture podataka zadatak treci


Versions (?)

Main program


 / Published in: C++
 

  1. #include<iostream>
  2. #include"red_pokazivac.h"
  3.  
  4. using namespace std;
  5.  
  6. int br=0;
  7.  
  8. void unos(queue* Q) {
  9. cout << "Ime i prezime: ";
  10. cin.ignore();
  11. cin.getline(klijent.ime_prezime,20);
  12. cout << "Godina rodjenja: ";
  13. cin >> klijent.godina_rodjenja;
  14. cout << "Stanje na racunu: ";
  15. cin >> klijent.stanje;
  16. cout << "Vrsta transakcije" << endl;
  17. cout << "1. Uplata/Isplata" << endl;
  18. cout << "2. Placanje racuna" << endl;
  19. cout << "3. Kredit" << endl;
  20. cout << "Odabir: ";
  21. cin >> klijent.transakcija;
  22. EnQueueQ(klijent, Q);
  23. br++;
  24. }
  25.  
  26. void ispis(queue* Q) {
  27. queue* P = InitQ(P);
  28. while (!IsEmptyQ(Q)) {
  29. klijent = FrontQ(Q);
  30. DeQueueQ(Q);
  31. cout << endl;
  32. cout << "Ime i prezime: " << klijent.ime_prezime << endl;
  33. cout << "Godina rodjenja: " << klijent.godina_rodjenja << endl;
  34. cout << "Stanje na racunu: " << klijent.stanje << endl;
  35. cout << "Vrsta transakcije: ";
  36. if (klijent.transakcija==1)
  37. cout << "Uplata/Isplata" << endl;
  38. else if (klijent.transakcija==2)
  39. cout << "Placanje racuna" << endl;
  40. else if (klijent.transakcija==3)
  41. cout << "Kredit" << endl;
  42. cout << "----------------------------";
  43. EnQueueQ(klijent,P);
  44. }
  45. while(!IsEmptyQ(P)) {
  46. klijent = FrontQ(P);
  47. DeQueueQ(P);
  48. EnQueueQ(klijent,Q);
  49. }
  50. }
  51.  
  52. void stari_klijenti (queue *Q) {
  53. queue* P = InitQ(P);
  54. int i=br;
  55. while (i) {
  56. klijent = FrontQ(Q);
  57. DeQueueQ(Q);
  58. if(klijent.godina_rodjenja<1945)
  59. EnQueueQ(klijent,Q);
  60. else
  61. EnQueueQ(klijent,P);
  62. i--;
  63. }
  64. while(!IsEmptyQ(P)){
  65. klijent = FrontQ(P);
  66. DeQueueQ(P);
  67. EnQueueQ(klijent,Q);
  68. }
  69. ispis(Q);
  70. }
  71.  
  72. void izbaci(queue *Q) {
  73. int i=br;
  74. while (i) {
  75. klijent = FrontQ(Q);
  76. DeQueueQ(Q);
  77. if(klijent.stanje<100)
  78. if(klijent.transakcija == 3)
  79. br--;
  80. else
  81. EnQueueQ(klijent,Q);
  82. else
  83. EnQueueQ(klijent,Q);
  84. i--;
  85. }
  86. ispis(Q);
  87. }
  88.  
  89. void otvaranje(queue *Q) {
  90. tklijent pom;
  91. pom = FrontQ(Q);
  92. DeQueueQ(Q);
  93. if (!IsEmptyQ(Q)) otvaranje(Q);
  94. EnQueueQ(pom,Q);
  95. }
  96.  
  97. int main () {
  98. int izbor;
  99. queue* Q = InitQ(Q);
  100. do {
  101. cout << endl << "Izbornik" << endl;
  102. cout << "1. Funkcija koja dodavaje zapise o klijentima banke u red." << endl;
  103. cout << "2. Funkcija koja u pocetni red najprije pusta starije od 65" << endl;
  104. cout << "3. Izbaci kreditno nesposobne " << endl;
  105. cout << "4. Otvaranje novog saltera" << endl;
  106. cout << "9. Izlaz" << endl;
  107. cout << "Izbor: ";
  108. cin >> izbor;
  109. cout << endl;
  110. switch (izbor) {
  111. case 1:
  112. unos(Q);
  113. cout << endl;
  114. break;
  115. case 2:
  116. stari_klijenti(Q);
  117. cout << endl;
  118. break;
  119. case 3:
  120. izbaci(Q);
  121. cout << endl;
  122. break;
  123. case 4:
  124. otvaranje(Q);
  125. ispis(Q);
  126. cout << endl;
  127. break;
  128. case 9:
  129. break;
  130. }
  131. } while (izbor!=9);
  132. return 0;
  133. }

Report this snippet  

Comments

RSS Icon Subscribe to comments
Posted By: lkuzmin on November 22, 2010

ovaj progoram za razliku od moga ima funkciju za ispis stanja u redu, koja prebacuje sve elemente iz glavnog u pomocni red i natrag te tu ima ispis koji su studenti u redu. U mom programu je to realizirano u svakoj funkciji zasebno. Lea Kuzminski

You need to login to post a comment.