Posted By

Tomislav_Hop on 11/12/12


Tagged


Versions (?)

main.cpp


 / Published in: C++
 

Glavni dio programa za prvi zadatak iz SP-a

  1. #include <iostream>
  2. #include <cstring>
  3. #include "lista_pokazivaci.h"
  4. //#include "lista_polja.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.mjesec;
  27. cout<<"Godina: ";
  28. cin>>ziv.dat.godina;
  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: " << dohvati.dat.dan <<"."
  44. <<dohvati.dat.mjesec<<"."<<dohvati.dat.godina<<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.godina*10000)+(dohvati.dat.mjesec*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.mjesec<<"."<<dohvati.dat.godina<<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. v=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. v=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<<"\tIZBORNIK: \n-------------------------------------" << endl;
  111. cout<<"1. Unesi zivotinju"<<endl
  112. <<"2. Ispis zivotinja od posljednje dodane"<<endl
  113. <<"3. Ispis zivotinja dostavljenih nakon 23.rujna 2012."<<endl
  114. <<"4. Izbrisi zivotinju prema nazivu"<<endl
  115. <<"5. Izbrisi sve zivotinje po vrsti"<<endl
  116. <<"9. Izlaz iz programa"<<endl<<endl;
  117. cout<<"Izbor: ";
  118. cin>>izbor;
  119. switch(izbor){
  120. case 1: if(unos())cout << "Unos uspjesan!" << endl << endl;
  121. else cout << "Unos nije uspjeo!" << endl <<endl;
  122. break;
  123.  
  124. case 2: cout << "\n\tISPIS ZIVOTINJA" << endl << endl;
  125. ispis();
  126. break;
  127.  
  128. case 3: filtarDatum();break;
  129.  
  130. case 4: if(brisi_naziv())cout << "Brisanje po nazivu uspjesno!" << endl << endl;
  131. else cout << "Brisanje po nazivu nije izvrseno!" << endl << endl;
  132. break;
  133.  
  134. case 5: if(brisi_vrsta())cout << "Brisanje po nazivu uspjesno!" << endl << endl;
  135. else cout << "Brisanje po nazivu nije izvrseno!" << endl << endl;
  136. break;
  137. }
  138. }while(izbor!=9);
  139. DeleteAllL(lista);
  140. system("pause");
  141. return 0;
  142. }

Report this snippet  

You need to login to post a comment.