/ Published in: C++
Rijesenje zadatka iz strukture podataka
Expand |
Embed | Plain Text
#include<iostream> #include "lista_polje.h" //#include "lista_pokazivac.h" using namespace std; int br=1; element unos(lista *novi){ zivotinja unos,tren; int uvecaj=0; element lokacija=FirstL(novi); cout<<"Sifra zivotinje generirana! : "<<endl; cout<<br<<endl; unos.sifra=br; cin.ignore(); cout<<"Vrsta zivotinje : "<<endl; cin.getline(unos.vrsta,35); cout<<"Naziv zivotinje : "<<endl; cin.getline(unos.naziv,35); cout<<"Dan : "<<endl; cin>>unos.datum[0]; cout<<"Mjesec : "<<endl; cin>>unos.datum[1]; cout<<"Godina : "<<endl; cin>>unos.datum[2]; cout<<"Cijena : "<<endl; cin>>unos.cijena; uvecaj=InsertL(unos,EndL(novi),novi); if(uvecaj==1){ cout<<endl<<"Element je uspjesno dodan!"<<endl<<endl; br++; } else cout<<"Element nije dodan! "<<endl<<endl; } void ispis(lista *ispis){ element lokacija=EndL(ispis); lokacija=PreviousL(lokacija,ispis); if(EndL(ispis)!=FirstL(ispis)){ while(5){ zivotinja tren=RetreiveL(lokacija,ispis); cout<<"Sifra: "<<tren.sifra<<endl; cout<<"Vrsta: "<<tren.vrsta<<endl; cout<<"Naziv: "<<tren.naziv<<endl; cout<<"Datum: "<<tren.datum[0]<<"."<<tren.datum[1]<<"."<<tren.datum[2]<<endl; cout<<"Cijena: "<<tren.cijena<<endl; cout<<"\t\t\t\t\t\t\t\t"<<endl; if(lokacija==FirstL(ispis))break; lokacija=PreviousL(lokacija,ispis); } } } void datum(lista *pretraga){ int broj=0; element lokacija=EndL(pretraga); lokacija=PreviousL(lokacija,pretraga); if(EndL(pretraga)!=FirstL(pretraga)){ while(1){ zivotinja tren=RetreiveL(lokacija,pretraga); if(tren.datum[2]==2012){ if((tren.datum[1]>=9)){ if(tren.datum[1]==9){ if(tren.datum[0]>23){ cout<<"Sifra: "<<tren.sifra<<endl; cout<<"Naziv: "<<tren.naziv<<endl; cout<<"Datum: "<<tren.datum[0]<<"."<<tren.datum[1]<<"."<<tren.datum[2]<<endl; cout<<"Vrsta: "<<tren.vrsta<<endl; cout<<"Cijena: "<<tren.cijena<<endl; cout<<"\t\t\t\t\t\t"<<endl; broj++; } } else{ cout<<"Sifra: "<<tren.sifra<<endl; cout<<"Naziv: "<<tren.naziv<<endl; cout<<"Datum:: "<<tren.datum[0]<<"."<<tren.datum[1]<<"."<<tren.datum[2]<<endl; cout<<"Vrsta: "<<tren.vrsta<<endl; cout<<"Cijena: "<<tren.cijena<<endl; cout<<"\t\t\t\t\t\t"<<endl; broj++; } } } else if(tren.datum[2]>2012){ cout<<"Sifra: "<<tren.sifra<<endl; cout<<"Naziv: "<<tren.naziv<<endl; cout<<"Datum: "<<tren.datum[0]<<"."<<tren.datum[1]<<"."<<tren.datum[2]<<endl; cout<<"Vrsta: "<<tren.vrsta<<endl; cout<<"Cijena: "<<tren.cijena<<endl; cout<<"\t\t\t\t\t\t"<<endl; broj++; } if(lokacija==FirstL(pretraga))break; lokacija=PreviousL(lokacija,pretraga); } cout<<endl<<"Broj: "<<broj<<endl; } } void brisanje(lista *brisi){ int potvrda; if(FirstL(brisi)==EndL(brisi))return; zivotinja tren; element lokacija=EndL(brisi); lokacija=PreviousL(lokacija,brisi); cout<<"Unesite naziv: "<<endl; cin.ignore(); cin.getline(tren.naziv,35); element pozicija=LocateL(tren,brisi); potvrda=DeleteL(pozicija,brisi); if(potvrda==1) cout<<"Element uspjesno ukonjen! "<<endl; else cout<<"Element nije obrisan! "<<endl; } void brisanje_vrsta(lista *ukloni){ zivotinja e; bool potvrda=false; if(FirstL(ukloni)==EndL(ukloni)){ cout<<"Lista je prazna! "<<endl; return;} cout<<"Unesite vrstu: "<<endl; cin.ignore(); cin.getline(e.vrsta,35); element lokacija=LocateL(e,ukloni); if(lokacija==0){ DeleteL(lokacija,ukloni); potvrda=true; return; } else while(lokacija!=EndL(ukloni)){ DeleteL(lokacija,ukloni); potvrda=true; lokacija=LocateL(e,ukloni); } if(potvrda==true) cout<<"Elementi uspjesno obrisani! "<<endl<<endl; else cout<<"Elementi nisu obrisani! "<<endl<<endl; } int main(){ int izb; lista *L=InitL(L); do{ cout<<" ########### IZBORNIK #############"<<endl; cout<<" 1. Dodaj zapis u listu po rastucoj sifri "<<endl; cout<<" 2. Ispis svih unesenih elemenata (od zadnjeg do prvog unesenog) "<<endl; cout<<" 3. Svi elementi novijeg datuma od 23.9.2012"<<endl; cout<<" 4. Brisanje elementa sa odredenim nazivom "<<endl; cout<<" 5. Brisanje svih elemenata odredene vrste "<<endl; cout<<" 6. Merge sort elemenata liste (silazno po cijeni i silazno po nazivu)"<<endl; cout<<" 0. Kraj programa "<<endl; cout<<" ###################################"<<endl; cout<<"->"; cin>>izb; switch(izb){ case 1: unos(L); break; case 2: ispis(L); break; case 3: datum(L); break; case 4: brisanje(L); break; case 5: brisanje_vrsta(L); break; case 6: element kraj=PreviousL(EndL(L),L); MSort(L,FirstL(L),EndL(L)-1); break; } }while(izb!=0); system("pause"); return 0; }
You need to login to post a comment.
