结构podataka/Evensicijaživotinja/Main
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构podataka/Evensicijaživotinja/Main相关的知识,希望对你有一定的参考价值。
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.
#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<<" IZBORNIK"<<endl; cout<<" --------"<<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; }
以上是关于结构podataka/Evensicijaživotinja/Main的主要内容,如果未能解决你的问题,请参考以下文章
Evidencijaživotinja-ZadatakƏu 1,podataka结构
Evidencijaživotinja,lista pokazivaÄa-Zadatak_u1,podataka结构