Posted By


kresimir20 on 11/21/10

Tagged


Statistics


Viewed 542 times
Favorited by 0 user(s)

Glavni dio programa


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



Copy this code and paste it in your HTML
  1. #include <cstdlib>
  2. #include "red_polje.h"
  3. //#include "red_pokazivac.h"
  4. using namespace std;
  5. int broj=0;
  6. void dodaj_zapis(red *Q) {
  7. zapis klijent;
  8. int A,B;
  9. cout << "Koliko klijenata zelite unijeti? ";
  10. cin >> A;
  11. for(int i=0;i<A;i++) {
  12. cin.ignore();
  13. cin.clear();
  14. cout << "Ime i prezime: ";
  15. getline(cin,klijent.preime,'\n');
  16. cout << "Godina rodjenja: ";
  17. cin >> klijent.god;
  18. cout << "Stanje na racunu: ";
  19. cin >> klijent.stanje_racuna;
  20. do {
  21. cout << "VRSTA TRANSAKCIJE:\n1. uplate/isplate\n2. placanje racuna\n3. krediti" << endl;
  22. cin >> B;
  23. } while(B<1&&B>3);
  24. if(B==1)
  25. klijent.transakcija=1;
  26. if(B==2)
  27. klijent.transakcija=2;
  28. if(B==3)
  29. klijent.transakcija=3;
  30. EnQueueQ(klijent,Q);
  31. cout << "Klijent je dodan u red!" << endl;
  32. broj++;
  33. }
  34. };
  35. void prednost_umirovljenici(red *Q,red *stariji) {
  36. if (!IsEmptyQ(Q)) {
  37. int br_unosa=broj;
  38. while (br_unosa!=0) {
  39. zapis pom=FrontQ(Q);
  40. DeQueueQ(Q);
  41. if (pom.god>1945)
  42. EnQueueQ(pom,stariji);
  43. else
  44. EnQueueQ(pom,Q);
  45. br_unosa--;
  46. }
  47. while (!IsEmptyQ(stariji)) {
  48. zapis umirovljenik=FrontQ(stariji);
  49. DeQueueQ(stariji);
  50. EnQueueQ(umirovljenik,Q);
  51. }
  52. cout << endl;
  53. cout << "Ispis stanja reda:" << endl;
  54. while (br_unosa!=broj) {
  55. zapis klijent=FrontQ(Q);
  56. DeQueueQ(Q);
  57. cout << endl;
  58. cout << "Ime i prezime: " << klijent.preime << endl;
  59. cout << "Godina rodjena: " << klijent.god << endl;
  60. cout << "Stanje na racunu: " << klijent.stanje_racuna << endl;
  61. if (klijent.transakcija==1)
  62. cout << "Transakcija: uplata/isplata" << endl;
  63. else if (klijent.transakcija==2)
  64. cout << "Transakcija: placanje racuna" << endl;
  65. else
  66. cout << "Transakcija: kredit" << endl;
  67. EnQueueQ (klijent,Q);
  68. br_unosa++;
  69. }
  70. }
  71. else cout << "Red je prazan!" << endl;
  72. };
  73. void krediti100(red *Q) {
  74. if (!IsEmptyQ(Q)) {
  75. int stanje_reda=broj;
  76. while (stanje_reda!=0) {
  77. zapis klijent=FrontQ(Q);
  78. DeQueueQ(Q);
  79. if (klijent.stanje_racuna<100&&klijent.transakcija==3)
  80. broj--;
  81. else EnQueueQ(klijent,Q);
  82. stanje_reda--;
  83. }
  84. while (broj!=stanje_reda) {
  85. zapis klijent=FrontQ(Q);
  86. DeQueueQ(Q);
  87. cout << endl;
  88. cout << "Ime i prezime: " << klijent.preime << endl;
  89. cout << "Godina rodjena: " << klijent.god << endl;
  90. cout << "Stanje racuna: " << klijent.stanje_racuna << endl;
  91. if(klijent.transakcija==1)
  92. cout << "Transakcija: uplata/isplata" << endl;
  93. else if (klijent.transakcija==2)
  94. cout << "Transakcija: placanje racuna" << endl;
  95. else
  96. cout << "Transakcija: kredit" << endl;
  97. EnQueueQ(klijent,Q);
  98. stanje_reda++;
  99. }
  100. }
  101. else cout << "Red je prazan!" << endl;
  102. };
  103. int salterska_rekurzija(red *Q) {
  104. zapis klijent=FrontQ(Q);
  105. DeQueueQ(Q);
  106. if(!IsEmptyQ(Q))
  107. salterska_rekurzija(Q);
  108. EnQueueQ(klijent,Q);
  109. cout << "Ime i prezime: " << klijent.preime << endl;
  110. cout << "Godina rodjena: " << klijent.god << endl;
  111. cout << "Stanje racuna: " << klijent.stanje_racuna << endl;
  112. if(klijent.transakcija==1)
  113. cout << "Transakcija: uplata/isplata" << endl;
  114. else if (klijent.transakcija==2)
  115. cout << "Transakcija: placanje racuna" << endl;
  116. else
  117. cout << "Transakcija: kredit" << endl;
  118. cout << endl;
  119. };
  120. int main() {
  121. int A;
  122. red *Q=InitQ(Q);
  123. red *Qpom=InitQ(Qpom);
  124. do {
  125. cout << "1. Dodaj zapis o klijentu\n2. Propusti umirovljenike" << endl;
  126. cout << "3. Izbaci klijenate koji imaju manje od 100 kn na racunu i zele kredit" << endl;
  127. cout << "4. Otvaranje novog saltera\n9. Izlaz iz programa" << endl;
  128. cin >> A;
  129. switch(A) {
  130. case 1: dodaj_zapis(Q);
  131. break;
  132. case 2: prednost_umirovljenici(Q,Qpom);
  133. break;
  134. case 3: cout << "Izbacivanje klijenata koji imaju manje od 100 kn na racunu i zele kredit" << endl;
  135. krediti100(Q);
  136. break;
  137. case 4: cout << "Zatvranje jednog i otvaranje drugog saltera" << endl;
  138. salterska_rekurzija(Q);
  139. break;
  140. case 9: break;
  141. }
  142. } while (A!=9);
  143. system ("pause");
  144. return 0;
  145. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.