/ Published in: C++
Ovaj program služi za evidenciju životinja (Å¡ifra životinja,vrsta,naziv,cijenu i datum dostave).Program je implementiran pomoću lista s pomoću pokazivaÄa i pomoÄu polja koje smo stavili kao dvije razliÄite datoteke zaglavlja s pomoću kojih možemo pokrenuti program.Mislim da je moj program dobar i drugaciji od ostalih jer sam stavio da se kod krivog unosa datuma ili cijene skoÄi ponovo na njihov upis da se nebi upisali krivi brojevi Å¡to bih naveo kao glavnu razliku od programa ostalih studenata koje sam vidio te sam uglavnom koristio imena varijabli i funkcija na naÄin da se jednostavno i brzo primjeti Äemu služe, te sam takoÄ‘er upotrebljavao liste na naÄin kako smo to radili na programiranju 2 pa mislim da je jednostavno za razumjeti.
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 sif=1; clan dodaj(lis *novi){ zivine dodaj,tekuci; int stavi=0; clan mjesto=FirstL(novi); cout<<"Sifra zivotinje: "<<sif<<"."<<endl; dodaj.sifra=sif; cin.ignore(); cout<<"Vrsta zivotinje: "<<endl; cin.getline(dodaj.vrsta,40); cout<<"Naziv zivotinje: "<<endl; cin.getline(dodaj.naziv,40); p1: cout<<"Dan: "<<endl; cin>>dodaj.dat[0]; if(dodaj.dat[0]<1 || dodaj.dat[0]>31){ cout<<"Taj dan ne postoji.Unesite ponovo."<<endl; goto p1;} p2: cout<<"Mjesec: "<<endl; cin>>dodaj.dat[1]; if(dodaj.dat[1]<1 || dodaj.dat[1]>12){ cout<<"Taj mjesec ne postoji.Unesite ponovo."<<endl; goto p2;} cout<<"Godina: "<<endl; cin>>dodaj.dat[2]; p3: cout<<"Cijena: "<<endl; cin>>dodaj.cijena; if(dodaj.cijena<1){ cout<<"Unesena pogresna cijena.Unesite ponovo."<<endl; goto p3;} stavi=InsertL(dodaj,EndL(novi),novi); if(stavi==1){ cout<<endl<<"1"<<endl<<endl; sif++; } else cout<<"0"<<endl<<endl; } void ispis(lis *ispis){ clan mjesto=EndL(ispis); mjesto=PreviousL(mjesto,ispis); if(EndL(ispis)!=FirstL(ispis)){ while(1){ zivine tekuci=RetreiveL(mjesto,ispis); cout<<"Sifra: "<<tekuci.sifra<<endl; cout<<"Vrsta: "<<tekuci.vrsta<<endl; cout<<"Naziv: "<<tekuci.naziv<<endl; cout<<"Datum: "<<tekuci.dat[0]<<"."<<tekuci.dat[1]<<"."<<tekuci.dat[2]<<endl; cout<<"Cijena: "<<tekuci.cijena<<endl; if(mjesto==FirstL(ispis))break; mjesto=PreviousL(mjesto,ispis); cout<<endl; }//while }//if } void dat(lis *pretraga){ int broj=0; clan mjesto=EndL(pretraga); mjesto=PreviousL(mjesto,pretraga); if(EndL(pretraga)!=FirstL(pretraga)){ while(1){ zivine tekuci=RetreiveL(mjesto,pretraga); if(tekuci.dat[2]==2012){ if((tekuci.dat[1]>=9)){ if(tekuci.dat[1]==9){ if(tekuci.dat[0]>23){ cout<<"Sifra: "<<tekuci.sifra<<endl; cout<<"Naziv: "<<tekuci.naziv<<endl; cout<<"Datum: "<<tekuci.dat[0]<<"."<<tekuci.dat[1]<<"."<<tekuci.dat[2]<<endl; cout<<"Vrsta: "<<tekuci.vrsta<<endl; cout<<"Cijena: "<<tekuci.cijena<<endl; broj++; } } else{ cout<<"Sifra: "<<tekuci.sifra<<endl; cout<<"Naziv: "<<tekuci.naziv<<endl; cout<<"Datum: "<<tekuci.dat[0]<<"."<<tekuci.dat[1]<<"."<<tekuci.dat[2]<<endl; cout<<"Vrsta: "<<tekuci.vrsta<<endl; cout<<"Cijena: "<<tekuci.cijena<<endl; broj++; } } } else if(tekuci.dat[2]>2012){ cout<<"Sifra: "<<tekuci.sifra<<endl; cout<<"Naziv: "<<tekuci.naziv<<endl; cout<<"Datum: "<<tekuci.dat[0]<<"."<<tekuci.dat[1]<<"."<<tekuci.dat[2]<<endl; cout<<"Vrsta: "<<tekuci.vrsta<<endl; cout<<"Cijena: "<<tekuci.cijena<<endl; broj++; } if(mjesto==FirstL(pretraga))break; mjesto=PreviousL(mjesto,pretraga); cout<<endl; }//while cout<<endl<<"Broj: "<<broj<<endl; }//if(endl) }//funk void brisi(lis *brisi){ int t; if(FirstL(brisi)==EndL(brisi))return; zivine tekuci; clan mjesto=EndL(brisi); mjesto=PreviousL(mjesto,brisi); cout<<"Unesite naziv: "<<endl; cin.ignore(); cin.getline(tekuci.naziv,40); clan pozicija=LocateL(tekuci,brisi); t=DeleteL(pozicija,brisi); if(t==1) cout<<"1"<<endl; else cout<<"0"<<endl; } void brisiv(lis *makni){ zivine brisi; bool t=false; if(FirstL(makni)==EndL(makni)){ cout<<"Lista je prazna... "<<endl; return;} cout<<"Unesite vrstu: "<<endl; cin.ignore(); cin.getline(brisi.vrsta,40); clan mjesto=LocateL(brisi,makni); if(mjesto==0){ DeleteL(mjesto,makni); t=true; return;} else while(mjesto!=EndL(makni)){ DeleteL(mjesto,makni); t=true; mjesto=LocateL(brisi,makni);} if(t==true) cout<<"1"<<endl<<endl; else cout<<"0"<<endl<<endl;} int main(){ int odabir; lis *L=InitL(L); do{ cout<<"\t\t\t\tIZBORNIK"<<endl; cout<<"\t\t\t\t--------"<<endl; cout<<"1. Dovanje zapisa po rastucoj sifri zivotinje "<<endl; cout<<"2. Ispis sadrzaja liste od posljednje"<<endl; cout<<"3. Pretrazivanje liste i ispis svih zivotinja(poslje 23.9.2012)"<<endl; cout<<"4. Brisanje pojedinih zivotinja po nazivu"<<endl; cout<<"5. Brisanje zivotinja odredene vrste"<<endl; cout<<"6. Silazni Merge sort"<<endl; cout<<"7. Kraj programa"<<endl; cout<<endl; p4 : cout<<"ODABIR: "; cin>>odabir; if(odabir<1 || odabir>7){ cout<<"Krivi unos!"<<endl; goto p4;} switch(odabir){ case 1:dodaj(L);break; case 2:ispis(L);break; case 3:dat(L);break; case 4:brisi(L);break; case 5:brisiv(L);break; case 6:clan kraj=PreviousL(EndL(L),L);Merge(L,FirstL(L),EndL(L)-1);break; } }while(odabir!=7); return 0; }