Posted By


renata on 11/20/10

Tagged


Statistics


Viewed 118 times
Favorited by 0 user(s)

RED_strukture_podataka


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



Copy this code and paste it in your HTML
  1. #include<iostream>
  2. #include "red_polje.h"
  3. //#include "red_pokazivaci.h"
  4. using namespace std;
  5. red *r = new red;
  6. tred *rd = new tred;
  7. tred *nov = new tred;
  8. int br=0;
  9. void unos(tred *a){
  10. char ip[30],vrsttr[20];
  11. int gdr;
  12. float sbr;
  13. char jos;
  14. do{
  15. cout << "Ime i prezime klijenta: ";
  16. cin.ignore();
  17. cin.getline(ip,30);
  18. cout << "Godina rodenja: ";
  19. cin >> gdr;
  20. cout << "Stanje na bankovnom racunu: ";
  21. cin >> sbr;
  22. cout << "Vrsta transakcije: ";
  23. cin.ignore();
  24. cin.getline(vrsttr,20);
  25. EnQueueQ(ip,gdr,sbr,vrsttr,a);
  26. br++;
  27. cout << "Zelite li jos unijeti? ";
  28. cin >> jos;
  29. }while(jos=='d');
  30.  
  31. cout << "Klijenti stariji od 65 godina..." << endl;
  32. for(int i=0;i<br;i++){
  33. memcpy(r,FrontQ(rd),sizeof(rd));
  34. if(r->g_rodenja<1945){
  35. memcpy(r,FrontQ(rd),sizeof(rd));
  36. cout << r->ime_prezime << "\t" << r->g_rodenja << "\t" << r->stanje_racun << "\t" << r->stanje_racun << "\t" << r->transakcija << endl;
  37. }
  38. else{
  39. EnQueueQ(r->ime_prezime,r->g_rodenja,r->stanje_racun,r->transakcija,nov);
  40. }
  41. DeQueueQ(rd);
  42. }
  43. while(IsEmptyQ(rd)==false){
  44. memcpy(r,FrontQ(rd),sizeof(rd));
  45. DeQueueQ(rd);
  46. cout << cout << r->ime_prezime << "\t" << r->g_rodenja << "\t" << r->stanje_racun << "\t" << r->stanje_racun << "\t" << r->transakcija << endl;
  47. EnQueueQ(r->ime_prezime,r->g_rodenja,r->stanje_racun,r->transakcija,rd);
  48. }
  49. }
  50.  
  51. void izbacivanje(tred *rd){
  52. for(int i=0;i<br;i++){
  53. memcpy(r,FrontQ(rd),sizeof(rd));
  54. if(r->stanje_racun<100 && strcmp(r->transakcija,"kredit")==0){
  55. DeQueueQ(rd);
  56. }
  57. else {
  58. EnQueueQ(r->ime_prezime,r->g_rodenja,r->stanje_racun,r->transakcija,rd);
  59. DeQueueQ(rd);
  60. }
  61. }
  62. }
  63.  
  64.  
  65.  
  66. struct elem{
  67. char ime_prezime[30];
  68. int g_rodenja;
  69. float stanje_racun;
  70. char transakcija[20];
  71. };
  72. elem e;
  73. int brel=0;
  74. void rekurzija(tred *rd){
  75. if(IsEmptyQ(rd)==true){
  76. for(int i=brel;i>0;i--)
  77. cout << e.ime_prezime << "\t" << e.g_rodenja << "\t" << e.stanje_racun << "\t" << e.transakcija << endl;
  78. return;}
  79. else{
  80. memcpy(r,FrontQ(rd),sizeof(rd));
  81. brel++;
  82. DeQueueQ(rd);
  83. rekurzija(rd);
  84. }
  85. }
  86. int main(){
  87. int izbor;
  88. do{
  89. cout << endl;
  90. cout << "1.Unos klijenata u red" << endl;
  91. cout << "2.Izbacivanje klijenata" << endl;
  92. cout << "3.Zatvaranje/otvaranje saltera" << endl;
  93. cout << "--------------------------------" << endl;
  94. cout << "Vas izbor? ";
  95. cin >> izbor;
  96. switch(izbor){
  97. case 1:unos(rd);break;
  98. case 2:izbacivanje(rd);break;
  99. case 3:rekurzija(rd);break;
  100. case 4:break;
  101. default: cout << "Unijeli ste krivi broj" << endl;
  102. }
  103. }while(izbor!=4);
  104. system("pause");
  105. return 0;
  106. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.