/ Published in: C++
Datoteka polja.h sadrzi funkcije koje su pozivane u glavnom programu evidencije zivotinja.
Expand |
Embed | Plain Text
//implementacija pomocu polja #include <iostream> using namespace std; void uvod() { cout<<"Dobrodosli u program. "<<endl; cout<<"Koristim biblioteku polja.h "<<endl; cout<<endl<<endl; } struct jedna_zivotinja { int sifra; int dan; int mjesec; int godina; char naziv[40]; char vrsta[40]; float cijena; }; struct sve_zivotinje { jedna_zivotinja*element[1000]; int kursor; }; int FirstL( sve_zivotinje*lista ) { return 0; } int EndL( sve_zivotinje*lista ) { return lista->kursor; } int NextL( int k,sve_zivotinje*lista ) { return k+1; } int PreviousL( int k,sve_zivotinje*lista ) { return k-1; } int LocateL( int n,sve_zivotinje*lista ) { for( int i=0; i<lista->kursor; i++ ) { if( n==lista->element[i]->sifra )return i; } return lista->kursor; } int DeleteL( int k, sve_zivotinje*lista ) { k-=1; if( k>EndL( lista ) ) cout<<"Taj element ne postoji!\n"; else { for( int i=k; i<EndL( lista ); i++ ) { lista->element[i]=lista->element[i+1];//premjestaj se s elementa na element ( element s vece pozicije prebaci na manji ) } lista->kursor=lista->kursor-1;//smanji kursor za jedan jer si izbrisao jedan element return 0; } } void InsertL( jedna_zivotinja*novi, int k, sve_zivotinje*lista) { if( k>EndL( lista ) ) cout<<"Prevelika pozicija!\n"; else { for ( int i = EndL( lista ); i > k; i-- ) { lista->element[i] = lista->element[i-1]; } lista->element[k] = novi; lista->kursor = lista->kursor + 1; } } void DeleteAll( sve_zivotinje*el ) { el->kursor=0; } jedna_zivotinja*UnosL( jedna_zivotinja*novi ) { cout<<"Sifra= "; cin>>novi->sifra; cout<<"Vrsta= "; cin>>novi->vrsta; cout<<"Naziv= "; cin>>novi->naziv; cout<<"Cijena= "; cin>>novi->cijena; do { cout<<"Dan dostave= "; cin>>novi->dan; } while( novi->dan<1||novi->dan>32 ); do { cout<<"Mjesec dostave= "; cin>>novi->mjesec; } while( novi->mjesec<1||novi->mjesec>12 ); cout<<"Godina dostave= "; cin>>novi->godina; } int NumberL( sve_zivotinje*lista ) { return lista->kursor; } jedna_zivotinja*RetrieveL( int k,sve_zivotinje*lista ) { return lista->element[k-1]; } sve_zivotinje*InitL( sve_zivotinje*novI ) { sve_zivotinje*novi=new sve_zivotinje; novi->kursor=0; return novi; } jedna_zivotinja*IspisL( jedna_zivotinja*novi ) { cout<<"Sifra= "<<novi->sifra<<endl; cout<<"Vrsta= "<<novi->vrsta<<endl; cout<<"Naziv= "<<novi->naziv<<endl; cout<<"Datum= "<<novi->dan<<"."<<novi->mjesec<<"."<<novi->godina<<endl; cout<<"Cijena= "<<novi->cijena<<endl; cout<<endl<<endl<<endl; }
You need to login to post a comment.
