Posted By

dleljak on 11/12/12


Tagged

Strukture podataka zadatak1 dlelja


Versions (?)

main program dleljak


 / Published in: C++
 

Programski kod main funkcije zadatka 1 iz struktura podataka.

  1. #include <iostream>
  2. #include <cstring>
  3. #include "lista_polje.h" //#include "lista_pokazivac.h"
  4. using namespace std;
  5.  
  6. bool Unos(){
  7. Elem zivotinja;
  8. zivotinja.sifra = sifra++;
  9. cout <<"Unos zivotinje" << endl;
  10. cout <<"--------------\n"<<"Sifra zivotinje: " << zivotinja.sifra <<"\n"<<"Vrsta zivotinje: ";
  11. cin.ignore();
  12. cin.getline(zivotinja.vrsta,30);
  13.  
  14. cout<<"Naziv zivotinje: ";
  15. cin.getline(zivotinja.naziv,30);
  16. cout <<"Cijena zivotinje: ";
  17. cin>>zivotinja.cijena;
  18. cout << "Datum dostave" << endl;
  19. cout<<"Dan: ";
  20. cin>>zivotinja.vrijeme.dan;
  21. cout<<"Mjesec: ";
  22. cin>>zivotinja.vrijeme.mjesec;
  23. cout<<"Godina: ";
  24. cin>>zivotinja.vrijeme.godina;
  25.  
  26.  
  27. InsertL(zivotinja,brelem,lista);
  28. brelem++;
  29. return 1;
  30. }
  31.  
  32. void Ispis(){
  33. Elem dohvati;
  34. int pret = PreviousL(EndL(lista),lista);
  35. for(int i=0;i<brelem;i++){
  36. dohvati = RetrieveL(pret,lista);
  37. cout<<"Sifra: " << dohvati.sifra << endl;
  38. cout<<"Vrsta : "<<dohvati.vrsta << endl;
  39. cout<<"Naziv : " <<dohvati.naziv << endl;
  40. cout<<"Cijena : "<<dohvati.cijena<<endl;
  41. cout<<"Datum dostave: " << dohvati.vrijeme.dan <<"." <<dohvati.vrijeme.mjesec<<"."<<dohvati.vrijeme.godina<<endl;
  42. cout<<"-*-*-*-*-*-*-*-*-"<<endl;
  43. pret = PreviousL(pret, lista);
  44. }
  45. }
  46.  
  47. void Datnakon(){
  48. Elem dohvati;
  49. int brojac=0;
  50. int pret = PreviousL(EndL(lista),lista);
  51.  
  52. for(int i=0;i<brelem;i++){
  53. dohvati = RetrieveL(pret,lista);
  54. int dd=(dohvati.vrijeme.godina*10000)+(dohvati.vrijeme.mjesec*100)+dohvati.vrijeme.dan;
  55. if(dd>20120923){
  56. cout<<"Sifra : " << dohvati.sifra << endl;
  57. cout<<"Vrsta : "<<dohvati.vrsta << endl;
  58. cout<<"Naziv : " <<dohvati.naziv << endl;
  59. cout<<"Cijena : "<<dohvati.cijena<<endl;
  60. cout<<"Datum dostave: " << dohvati.vrijeme.dan <<"."
  61. <<dohvati.vrijeme.mjesec<<"."<<dohvati.vrijeme.godina<<endl;
  62. cout<<"-*-*-*-*-*-*-*-*-"<<endl;
  63. brojac++; }
  64. pret = PreviousL(pret,lista);
  65. }
  66. cout <<"Ukupan broj zivotinja nakon 23.09.2012 je: " << brojac<< endl <<endl << endl;
  67. }
  68.  
  69. int Nazivdel() {
  70. char naziv[30];
  71. cout<<"Unesite naziv: ";
  72. cin.ignore();
  73. cin.getline(naziv,30);
  74.  
  75. int loc = LocateL(naziv,lista);
  76. if(loc==EndL(lista)) return 0;
  77. else { DeleteL(loc,lista);
  78. brelem--;
  79. return 1; }
  80. }
  81.  
  82.  
  83. int Vrstadel(){
  84. int bri, pom=0;
  85. v=1;
  86. char vrsta[30];
  87. cout<<"Unesite vrstu: ";
  88. cin.ignore();
  89. cin.getline(vrsta,30);
  90.  
  91. while(LocateL(vrsta,lista)!=EndL(lista)){
  92. bri = LocateL(vrsta, lista);
  93. DeleteL(bri, lista);
  94. brelem--;
  95. pom=1;
  96. }
  97. v=0;
  98. if(pom) return 1;
  99. else return 0;
  100. }
  101.  
  102.  
  103. int main(){
  104. int izbor;
  105.  
  106. InitL(lista);
  107.  
  108. do{ cout<<"-------------------Trgovina sa kucnim ljubimcima-Evidencija---------------" << endl;
  109. cout<<"1- Dodavanje zapisa"<<endl;
  110. cout<<"2- Ispis po sifri posljednje dodane"<<endl;
  111. cout<<"3- Pretrazivanje te ispis zivotinja dostavljenih nakon 23.rujna 2012"<<endl;
  112. cout<<"4- Brisanje pojedinacne zivotinje prema nazivu"<<endl;
  113. cout<<"5- Brisanje svih zivotinja zadane vrste"<<endl;
  114. cout<<"0- Kraj rada"<<endl;
  115. cout<<"--------------------------------------------------------------------------\n";
  116.  
  117. cout<<"Izbor: ";
  118. cin>>izbor;
  119.  
  120.  
  121. switch(izbor){
  122. case 1: if(Unos())cout << "Zapis je spremljen" << endl << endl;
  123. else cout << "Neuspjesno uneseni zapis" << endl <<endl;
  124. break;
  125.  
  126. case 2: cout << "Ispis zivotinja\n";
  127. cout << "---------------\n";
  128.  
  129. Ispis();
  130. break;
  131.  
  132. case 3: Datnakon();break;
  133.  
  134. case 4: if(Nazivdel())cout << "Zivotinja je uspjesno obrisana\n" << endl;
  135. else cout << "Brisanje zivotinje po nazivu nije izvrseno\n" << endl;
  136. break;
  137.  
  138. case 5: if(Vrstadel())cout << "Cijela vrsta je izbrisana\n" << endl;
  139. else cout << "Brisanje svih zivotinja nije izvrseno\n" << endl;
  140. break;
  141.  
  142. default : if (!(izbor == 0))cout<<"Pogresan izbor - ponovi unos\n\n";
  143. }
  144. }while(izbor!=0);
  145. DeleteAllL(lista);
  146. system("pause");
  147. return 0;
  148. }

Report this snippet  

You need to login to post a comment.