/ Published in: C++
Programsko rješenje za Evidenciju životinja za kolegij Strukture Podataka.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include<iostream> #include "lista_polje.h" //#include "lista_pokazivac.h" using namespace std; int sifra1=1; int datum(int koje){ int dan, mj, god; if(koje==0) return rand()%30+1; if(koje==1) return rand()%11+1; if(koje==2) return rand()%5+2010; } element unos(lista *l){ tzivotinja un; un.sifra=sifra1++; cout<<"Sifra: "<<un.sifra<<endl; cin.ignore(); cout<<"Unesi VRSTU: "; cin.getline(un.vrsta,40); cout<<"Unesi IME: "; cin.getline(un.ime,40); un.cijena=(rand()%15)*50; cout<<"Cijena: "<<un.cijena<<endl; un.dan=datum(0); un.mj=datum(1); un.god=datum(2); cout<<"Datum dostave je "<<un.dan<<"."<<un.mj<<"."<<un.god<<endl; int a=InsertL(un,EndL(l),l); if(a!=0) cout<<"Uspjesno dodano...\n"; else cout<<"Zapis nije uspjesno dodan...\n"; } void ispis(lista *l){ element lokacija=EndL(l); if(EndL(l)!=FirstL(l)){ cout<<"SIFRA\t\tVRSTA\t\tIME\t\tCIJENA\t\tDATUM\n"; cout<<"-----\t\t-----\t\t---\t\t------\t\t-----\n"; do{ lokacija=PreviousL(lokacija,l); tzivotinja isp=RetreiveL(lokacija,l); cout<<isp.sifra<<"\t\t"; cout<<isp.vrsta<<"\t\t"; cout<<isp.ime<<"\t\t"; cout<<isp.cijena<<"\t\t"; cout<<isp.dan<<"."<<isp.mj<<"."<<isp.god<<endl; }while(lokacija!=FirstL(l)); } } void ispis_datum(lista *l){ int m,d,g, ukupno=0; element lokacija=EndL(l); if(EndL(l)!=FirstL(l)){ cout<<"SIFRA\t\tVRSTA\t\tIME\t\tCIJENA\t\tDATUM\n"; cout<<"-----\t\t-----\t\t---\t\t------\t\t-----\n"; do{ lokacija=PreviousL(lokacija,l); tzivotinja ispis=RetreiveL(lokacija,l); d=ispis.dan; m=ispis.mj; g=ispis.god; if(g>2012){ cout<<ispis.sifra<<"\t\t"; cout<<ispis.vrsta<<"\t\t"; cout<<ispis.ime<<"\t\t"; cout<<ispis.cijena<<"\t\t"; cout<<ispis.dan<<"."<<ispis.mj<<"."<<ispis.god<<endl; ukupno++; } else if(g==2012) if(m>9){ cout<<ispis.sifra<<"\t\t"; cout<<ispis.vrsta<<"\t\t"; cout<<ispis.ime<<"\t\t"; cout<<ispis.cijena<<"\t\t"; cout<<ispis.dan<<"."<<ispis.mj<<"."<<ispis.god<<endl; ukupno++; } else if(g==2012) if(m==9) if(d>23){ cout<<ispis.sifra<<"\t\t"; cout<<ispis.vrsta<<"\t\t"; cout<<ispis.ime<<"\t\t"; cout<<ispis.cijena<<"\t\t"; cout<<ispis.dan<<"."<<ispis.mj<<"."<<ispis.god<<endl; ukupno++; } }while(lokacija!=FirstL(l)); cout<<"Ukupno: "<<ukupno<<endl; } } void brisi_ime(lista *l){ if(FirstL(l)==EndL(l)){ cout<<"Lista prazna\n"; return;} tzivotinja brisi; cout<<"Unesite ime: "; cin.ignore(); cin.getline(brisi.ime,40); brisiime=1; element pozicija=LocateL(brisi,l); int a=DeleteL(pozicija, l); if(a==1) cout<<"Zapis uspjesno ukonjen "<<endl; else cout<<"Zapis nije obrisan "<<endl; } void brisi_vrsta(lista *l){ tzivotinja e, brisi; bool uspjesno=false; cout<<"Unesite vrstu "<<endl; cin.ignore(); cin.getline(brisi.vrsta,35); if(FirstL(l)==EndL(l))return; brisiime=0; element lokacija=LocateL(brisi,l); while(lokacija!=EndL(l)){ DeleteL(lokacija,l); uspjesno=true; lokacija=LocateL(brisi,l); } if(uspjesno) cout<<"Zapisi uspjesno uklonjeni... "<<endl; else cout<<"Zapis nije obrisan... "<<endl; } int main(){ int izbor; lista *L=InitL(L); do{ cout<<"\n1. Unos zivotinja\n"; cout<<"2. Ispis od zadnjeg dodanog\n"; cout<<"3. Ispis zivotinja dodanih nakon 23/09/2012\n"; cout<<"4. Brisanje zapisa prema imenu\n"; cout<<"5. Brisanje zapisa prema vrsti\n"; cout<<"6. Sortiraj silazno prema cijeni i nazivu\n"; cout<<"9. Izlaz\n"; cout<<"Odaberi: "; cin>> izbor; cout<<endl; switch(izbor){ case 1: unos(L);break; case 2: ispis(L);break; case 3: ispis_datum(L);break; case 4: brisi_ime(L);break; case 5: brisi_vrsta(L);break; case 6:; MSort(L);ispis(L);break; } }while(izbor!=9); system("pause"); return 0; }