Posted By

matakmonika on 11/12/12


Tagged

Strukture podataka zadatak zivotinje


Versions (?)

zadatak1


 / Published in: C++
 

zadatak strukture

  1. #include <iostream>
  2. #include <cstring>
  3. #include "lista_polje.h"
  4. using namespace std;
  5. int dodaj(){
  6. podaci unos;
  7. unos.sifra=sifra++;
  8. cout<<"Unesi vrstu: "<<endl;
  9. cin.ignore();
  10. cin.getline(unos.vrsta,40);
  11. cout<<"Unesi naziv: "<<endl;
  12. cin.getline(unos.naziv,40);
  13. cout<<"Unesi cijenu: "<<endl;
  14. cin>>unos.cijena;
  15. if(unos.cijena<=0) {
  16. sifra--;
  17. return 0;
  18. }
  19. cout<<"Unesite datum dostave (sve unosite u brojkama)"<<endl;
  20. cout<<"Unesite dan"<<endl;
  21. cin>>unos.dat_dost.dan;
  22. cout<<"Unesite mjesec"<<endl;
  23. cin>>unos.dat_dost.mjesec;
  24. cout<<"Unesite godinu"<<endl;
  25. cin>>unos.dat_dost.godina;
  26. if (unos.dat_dost.godina>2012) {
  27. sifra--;
  28. return 0;}
  29. insertl(unos, br, lista);
  30. br++;
  31. return 1; }
  32.  
  33. void ispis_redom(){
  34. podaci p;
  35. for (int i=br-1;i>=0;i--){
  36. p=retrieveL (i, lista);
  37. cout<<"Sifra zivotinje je: "<<p.sifra<<endl;
  38. cout<<"Vrsta zivotinje je: "<<p.vrsta<<endl;
  39. cout<<"Naziv zivotinje je: "<<p.naziv<<endl;
  40. cout<<"Cijena zivotinje je: "<<p.cijena<<endl;
  41. cout<<"Datum je: "<<p.dat_dost.dan<<"."<<p.dat_dost.mjesec<<"."<<p.dat_dost.godina<<endl;}
  42. }
  43. void datum_ispis(){
  44. int br=0;
  45. podaci p;
  46. for (int i=0;i<br;i++){
  47. p=retrieveL (i, lista);
  48. if (p.dat_dost.godina>=2012)
  49. if ((p.dat_dost.mjesec == 9 && p.dat_dost.dan>23)||(p.dat_dost.mjesec>9 && p.dat_dost.mjesec<12)){
  50. br++;
  51. cout<<"Sifra zivotinje je: "<<p.sifra<<endl;
  52. cout<<"Vrsta zivotinje je: "<<p.vrsta<<endl;
  53. cout<<"Naziv zivotinje je: "<<p.naziv<<endl;
  54. cout<<"Cijena zivotinje je: "<<p.cijena<<endl;
  55. cout<<"Datum dostave je: "<<p.dat_dost.dan<<"."<<p.dat_dost.mjesec<<"."<<p.dat_dost.dan<<endl;
  56. }
  57. }
  58. cout<<"Broj pronadjenih zivotinja je: "<<br<<endl;
  59. }
  60. void ispis(){
  61. podaci x;
  62. for (int i=0;i<br;i++){
  63. x=retrieveL(i,lista);
  64. cout<<"Sifra je: "<<x.sifra<<endl;
  65. cout<<"Vrsta je: "<<x.vrsta<<endl;
  66. cout<<"Naziv je: "<<x.naziv<<endl;
  67. cout<<"Cijena je: "<<x.cijena<<endl;
  68. cout<<"Datum je: "<<x.dat_dost.dan<<"."<<x.dat_dost.mjesec<<"."<<x.dat_dost.godina<<endl;
  69. }
  70. }
  71.  
  72. int brisanje_naziv(){
  73. char naziv[40];
  74. podaci x;
  75. cout<<"Unesite naziv zivotinje koju zelite izbrisati!"<<endl;
  76. cin.ignore();
  77. cin.getline(naziv,40);
  78. int p = locatel(naziv,lista);
  79. if (p==endl(lista)) return 0;
  80. else {
  81. deletel (p,lista);
  82. br--;
  83. return 1;
  84. }
  85. }
  86. int brisanje_vrsta(){
  87. char vrsta [40];
  88. bool nadjen=0;
  89. v=1;
  90. cout<<"Unesite vrstu zivotinje koju zelite obrisati: "<<endl;
  91. cin.ignore();
  92. cin.getline(vrsta,40);
  93. int p=locatel(vrsta,lista);
  94. while (locatel(vrsta,lista)!=endl(lista)) {
  95. p = locatel(vrsta,lista);
  96. deletel(p,lista);
  97. br--;
  98. nadjen=1;
  99. }
  100. v=0;
  101. if(!nadjen) return 0;
  102. else return 1;
  103. }
  104.  
  105.  
  106. int main(){
  107. cout<<"Unesite izbor"<<endl;
  108. int izbor;
  109. initl(lista);
  110. do{
  111. cout<<"1 = Unos zivotinje"<<endl;
  112. cout<<"2 = Ispis (od posljednje dodane prema prvoj)"<<endl;
  113. cout<<"3 = Ispis (unesene zivotinje nakon 23. rujna 2012.)"<<endl;
  114. cout<<"4 = Brisanje po nazivu (pojedinacno)"<<endl;
  115. cout<<"5 = Brisanje po vrsti"<<endl;
  116. cout<<"6 = Sortiranje prema cijeni i nazivu zivotinje"<<endl;
  117. cout<<"0 = Kraj rada"<<endl;
  118. cin>>izbor;
  119. switch (izbor){
  120. case 1: if(dodaj()) cout<<"Uspjesan unos"<<endl;
  121. else cout<<"Pogresan unos";
  122. break;
  123.  
  124. case 2: ispis_redom(); break;
  125. case 3: datum_ispis(); break;
  126. case 4:
  127. if(brisanje_naziv()){ cout<<"Zivotinja je obrisana"<<endl;
  128. ispis();}
  129. else cout<<"Zivotinja nije obrisana"<<endl;
  130. break;
  131. case 5: if (brisanje_vrsta()){cout<<"Zivotinja je obrisana"<<endl;
  132. ispis();
  133. }
  134. else cout<<"Vrsta nije obrisana"<<endl;
  135. break;
  136. case 6: msort();
  137. ispis();
  138.  
  139. break;
  140.  
  141. }
  142. }while(izbor!=0);
  143. system("pause");
  144. return 0;
  145. }

Report this snippet  

You need to login to post a comment.