Posted By

ihontic on 11/12/12


Tagged

podataka stukture


Versions (?)

main.cpp


 / Published in: C++
 

Glavni program, zad1 SP

  1. #include <iostream>
  2. #include <cstring>
  3. #include "lista_pokazivac.h"
  4. //#include "lista_polje.h"
  5.  
  6. using namespace std;
  7.  
  8.  
  9.  
  10. bool unos(){
  11. tEl ziv;
  12. ziv.sifra = sifra++;
  13. cout << "\n\tUNOS NOVE ZIVOTINJE" << endl;
  14. cout << "Sifra zivotinje: " << ziv.sifra << endl;
  15. cout<<"Vrsta zivotinje: ";
  16. cin.ignore();
  17. cin.getline(ziv.vrsta,50);
  18. cout<<"Naziv zivotinje: ";
  19. cin.getline(ziv.naziv,50);
  20. cout <<"Cijena zivotinje: ";
  21. cin>>ziv.cijena;
  22. cout << "Datum dostave:" << endl;
  23. cout<<"Dan: ";
  24. cin>>ziv.dat.dan;
  25. cout<<"Mjesec: ";
  26. cin>>ziv.dat.mj;
  27. cout<<"Godina: ";
  28. cin>>ziv.dat.god;
  29. InsertL(ziv,br_elem,lista);
  30. br_elem++;
  31. return 1;
  32. }
  33.  
  34. void ispis(){
  35. tEl dohvati;
  36. int p = PreviousL(EndL(lista),lista);
  37. for(int i=0;i<br_elem;i++){
  38. dohvati = RetrieveL(p,lista);
  39. cout<<"Sifra: " << dohvati.sifra << endl;
  40. cout<<"Vrsta zivotinje: "<<dohvati.vrsta << endl;
  41. cout<<"Naziv zivotinje: " <<dohvati.naziv << endl;
  42. cout<<"Cijena zivotinje: "<<dohvati.cijena<<endl;
  43. cout<<"Datum dostave zivotinje: " << dohvati.dat.dan <<"."
  44. <<dohvati.dat.mj<<"."<<dohvati.dat.god<<endl;
  45. cout<<"-----------------------------------"<<endl;
  46. p = PreviousL(p,lista);
  47. }
  48. }
  49.  
  50. void filtarDatum(){
  51. tEl dohvati;
  52. int brojac=0;
  53. int p = PreviousL(EndL(lista),lista);
  54. for(int i=0;i<br_elem;i++){
  55. dohvati = RetrieveL(p,lista);
  56. int dd=(dohvati.dat.god*10000)+(dohvati.dat.mj*100)+dohvati.dat.dan;
  57. if(dd>20120923){
  58. cout<<"Sifra: " << dohvati.sifra << endl;
  59. cout<<"Vrsta zivotinje: "<<dohvati.vrsta << endl;
  60. cout<<"Naziv zivotinje: " <<dohvati.naziv << endl;
  61. cout<<"Cijena zivotinje: "<<dohvati.cijena<<endl;
  62. cout<<"Datum dostave: " << dohvati.dat.dan <<"."
  63. <<dohvati.dat.mj<<"."<<dohvati.dat.god<<endl;
  64. cout<<"-------------------"<<endl;
  65. brojac++;
  66. }
  67. p = PreviousL(p,lista);
  68. }
  69. cout <<"Broj zivotinja dostavljenih nakon 23.09.2012 je: " << brojac<< endl <<endl << endl;
  70. }
  71.  
  72. int brisi_naziv() {
  73. char naziv[50];
  74. cout<<"Unesite naziv zivotinje: ";
  75. cin.ignore();
  76. cin.getline(naziv,50);
  77. int p = LocateL(naziv,lista);
  78. if(p==EndL(lista)) return 0;
  79. else {
  80. DeleteL(p,lista);
  81. br_elem--;
  82. return 1;
  83. }
  84. }
  85.  
  86. int brisi_vrsta(){
  87. int p, pom=0;
  88. h=1;
  89. char vrsta[50];
  90. cout<<"Unesite vrstu zivotinje: ";
  91. cin.ignore();
  92. cin.getline(vrsta,50);
  93.  
  94. while(LocateL(vrsta,lista)!=EndL(lista)){
  95. p = LocateL(vrsta, lista);
  96. DeleteL(p,lista);
  97. br_elem--;
  98. pom=1;
  99. }
  100. h=0;
  101. if(pom) return 1;
  102. else return 0;
  103. }
  104.  
  105.  
  106. int main(){
  107. int izbor;
  108. InitL(lista);
  109. do{
  110. cout<<"\t...IZBORNIK... \n-------------------------------------" << endl;
  111. cout<<"1. Unos zivotinje"<<endl
  112. <<"2. Ispis zivotinja od posljednje dodane"<<endl
  113. <<"3. Ispis zivotinja dostavljenih nakon 23.rujna 2012."<<endl
  114. <<"4. Brisanje zivotinje prema nazivu"<<endl
  115. <<"5. Brisanje svih zivotinja iste vrste"<<endl
  116. <<"6. Sortiranje"<<endl
  117. <<"9. Izlaz iz programa!"<<endl<<endl;
  118. cout<<"Izbor: ";
  119. cin>>izbor;
  120. switch(izbor){
  121. case 1: if(unos())cout << "Unos uspjesan!" << endl << endl;
  122. else cout << "Unos nije uspjeo!" << endl <<endl;
  123. break;
  124.  
  125. case 2: cout << "\n\tISPIS ZIVOTINJA" << endl << endl;
  126. ispis();
  127. break;
  128.  
  129. case 3: filtarDatum();break;
  130.  
  131. case 4: if(brisi_naziv())cout << "Brisanje po nazivu uspjesno!" << endl << endl;
  132. else cout << "Brisanje po nazivu nije izvrseno!" << endl << endl;
  133. break;
  134.  
  135. case 5: if(brisi_vrsta())cout << "Brisanje po nazivu uspjesno!" << endl << endl;
  136. else cout << "Brisanje po nazivu nije izvrseno!" << endl << endl;
  137. break;
  138. case 6: break;
  139.  
  140.  
  141. }
  142. }while(izbor!=9);
  143. DeleteAllL(lista);
  144. system("pause");
  145. return 0;
  146. }

Report this snippet  

You need to login to post a comment.