Posted By


makaniski on 11/20/10

Tagged


Statistics


Viewed 24 times
Favorited by 0 user(s)

Zadatak_3_glavni_program_makaniski


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



Copy this code and paste it in your HTML
  1. #include<iostream>
  2. #include<conio.h>
  3. #include "red_pokazivac.h"
  4. //#include "red_polje.h"
  5. using namespace std;
  6. int brojac=0;
  7.  
  8. void dodaj_klijenta(tred *Q) {
  9. tklijent novi;
  10. cout << "Ime: ";
  11. cin.ignore();
  12. cin.getline(novi.ime,20);
  13. cout << "Prezime: ";
  14. cin.getline(novi.prez,20);
  15. cout << "Godina rodjenja: ";
  16. cin >> novi.god;
  17. cout << "Stanje racuna: ";
  18. cin >> novi.stanje;
  19. cout << "Vrsta transakcije: "<<endl;
  20. cout << "('u' = uplate/isplate,'p' = placanje racuna,'k' = krediti): "<<endl;
  21. cout << "Vas izbor je: ";
  22. do{
  23. cin >> novi.vrsta;
  24. if((novi.vrsta != 'u') && (novi.vrsta != 'p') && (novi.vrsta != 'k')) cout<<"Pogresan unos\nVas izbor: ";
  25. }while((novi.vrsta != 'u') && (novi.vrsta != 'p') && (novi.vrsta != 'k'));
  26. EnQueueQ(novi, Q);
  27. cout<<"--------------------------------------------------------------------"<<endl<<endl;
  28. brojac++;
  29. };
  30.  
  31. void ispis_klijenata(tred *Q) {
  32. cout<<"Ispis klijenata u redu"<<endl;
  33. cout<<"--------------------------------------------------------------------"<<endl;
  34. tklijent novi;
  35. int br=brojac;
  36. while (br) {
  37. novi = FrontQ(Q);
  38. DeQueueQ(Q);
  39. cout << "Ime: " << novi.ime << endl;
  40. cout << "Prezime: "<< novi.prez << endl;
  41. cout << "Godina rodjenja: " << novi.god << endl;
  42. cout << "Stanje na racunu: " << novi.stanje << endl;
  43. if(novi.vrsta == 'u') cout<<"Vrsta transakcije: Uplata/Isplata"<<endl;
  44. if(novi.vrsta == 'p') cout<<"Vrsta transakcije: Placanje racuna"<<endl;
  45. if(novi.vrsta == 'k') cout<<"Vrsta transakcije: Kreditiranje"<<endl;
  46. cout<<"--------------------------------------------------------------------"<<endl;
  47. EnQueueQ(novi,Q);
  48. br--;
  49. };
  50. };
  51.  
  52. void stari_klijent(tred *Q) {
  53. tred *pomocni = InitQ(pomocni);
  54. tklijent novi;
  55. int br=brojac;
  56. while (br) {
  57. novi = FrontQ(Q);
  58. DeQueueQ(Q);
  59. if (novi.god > 1945)
  60. EnQueueQ(novi,pomocni);
  61. else
  62. EnQueueQ(novi,Q);
  63. br--;
  64. };
  65. while (!IsEmptyQ(pomocni)) {
  66. novi = FrontQ(pomocni);
  67. DeQueueQ(pomocni);
  68. EnQueueQ(novi,Q);
  69. };
  70. ispis_klijenata(Q);
  71. };
  72.  
  73. void nemogu(tred *Q) {
  74. tred *pomocni = InitQ(pomocni);
  75. tklijent novi;
  76. int br=brojac;
  77. while (br) {
  78. novi = FrontQ(Q);
  79. DeQueueQ(Q);
  80. if (!(novi.stanje < 100 && novi.vrsta == 'k'))
  81. EnQueueQ(novi,Q);
  82. else brojac--;
  83. br--;
  84. };
  85. ispis_klijenata(Q);
  86. };
  87.  
  88. void otvaranje_saltera(tred *Q) {
  89. tklijent novi;
  90. novi = FrontQ(Q);
  91. DeQueueQ(Q);
  92. if (!IsEmptyQ(Q)) otvaranje_saltera(Q);
  93. EnQueueQ(novi,Q);
  94. };
  95.  
  96. //MAIN PROGRAM
  97.  
  98. int main(){
  99. bool ima = false;
  100. tred *Q = InitQ(Q);
  101. int zapis;
  102. char iz;
  103. do{
  104. system("cls");
  105. cout<<"---------------------------IZBRONIK---------------------------------"<<endl;
  106. cout<<"--------------------------------------------------------------------"<<endl;
  107. cout<<"1. Dodavanje zapisa o klijentima banke u red"<<endl;
  108. cout<<"2. Premjesti klijente starije od 65 godine na pocetak reda"<<endl;
  109. cout<<"3. Izbaci iz reda sve klijente koji imaju < od 100 kn, i zele kredit"<<endl;
  110. cout<<"4. Simuliranje otvaranja/zatvaranja saltera"<<endl;
  111. cout<<"0. Izlaz iz programa"<<endl;
  112. cout<<"--------------------------------------------------------------------"<<endl;
  113. cout<<"--------------------------------------------------------------------"<<endl;
  114. cout<<"Vas izbor je: ";
  115. iz=getch();
  116. cout<<iz<<endl;
  117. switch(iz){
  118. case '1':
  119. cout<<"Kolko klijenata zelite dodati (1-15): ";
  120. cin>>zapis;
  121. if((zapis!=0)&&(zapis<16)){
  122. for (int i=0;i<zapis;i++){
  123. cout<<"Ukupno zapisa: "<<i<<endl;
  124. cout<<"Preostalo: "<<(int)zapis-(i+1)<<" zapisa"<<endl;
  125. dodaj_klijenta(Q);
  126. }}
  127. else break;
  128. ima = true;
  129. break;
  130.  
  131. case '2':
  132. if(!ima){
  133. cout<<"Nema podataka, unesite podatke!!!"<<endl;
  134. break;
  135. }
  136. stari_klijent(Q);
  137. break;
  138.  
  139. case '3':
  140. if(!ima){
  141. cout<<"Nema podataka, unesite podatke!!!"<<endl;
  142. break;
  143. }
  144. nemogu(Q);
  145. break;
  146.  
  147. case '4':
  148. if(!ima){
  149. cout<<"Nema podataka, unesite podatke!!!"<<endl;
  150. break;
  151. }
  152. otvaranje_saltera(Q);
  153. ispis_klijenata(Q);
  154. break;
  155. case '0': break;
  156. default: cout<<"Nepostojeci izbor\nPovratak na izbronik"<<endl<<endl;;
  157. }
  158. system("pause");
  159. }while(iz != '0');
  160. return 0;
  161. };

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.