/ Published in: C++
Ovo je datoteka zaglavlja pokazivaci.h u kojoj se nalaze funkcije koje su pozivane u main funkciji programa evidencije zivotinja.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
//implementacija pomocu pokazivaca #include <iostream> #include <windows.h> using namespace std; void uvod() { cout<<"Dobrodosli u program. "<<endl; cout<<"Koristim biblioteku pokazivaci.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; sve_zivotinje*sljedeci; }; sve_zivotinje*novi; jedna_zivotinja* FirstL( sve_zivotinje*lista ) { return lista->sljedeci->element; } int EndL( sve_zivotinje*lista ) { return 0; } sve_zivotinje*NextL( int p, sve_zivotinje*lista ) { sve_zivotinje*zadnji=lista; int brojac=0; while( brojac<p&&zadnji!=NULL ) { zadnji=zadnji->sljedeci; brojac++; } if( zadnji==NULL )return NULL; else return zadnji->sljedeci; } sve_zivotinje*PreviousL( int p, sve_zivotinje*lista ) { sve_zivotinje*zadnji=lista; int brojac=0; p-=2; while( brojac<p&&zadnji!=NULL ) { zadnji=zadnji->sljedeci; brojac++; } if( zadnji==NULL )return NULL; else return zadnji->sljedeci; } sve_zivotinje*LocateL( int n,sve_zivotinje*lista ) { sve_zivotinje*zadnji=lista->sljedeci; while( zadnji!=NULL ) { if( zadnji->element->sifra==n ) { return zadnji; } else zadnji=zadnji->sljedeci; } return NULL; } void InsertL( jedna_zivotinja*novi, int p, sve_zivotinje*lista ) { sve_zivotinje*zadnji = lista; sve_zivotinje*novi3=new sve_zivotinje; novi3->element=novi; novi3->sljedeci=NULL; int brojac=0; while( brojac<p&&zadnji!=NULL ) { zadnji=zadnji->sljedeci; brojac++; } if( brojac<p ) { cout<<"Ne mogu dodati na to mjesto!\n"; return; } if( zadnji->sljedeci!=NULL ) { novi3->sljedeci=zadnji->sljedeci; zadnji->sljedeci=novi3; } else zadnji->sljedeci=novi3; } int DeleteL( int p, sve_zivotinje*lista ) { sve_zivotinje*zadnji=lista; bool pogresan=false; int brojac=0; while( brojac<p-1 ) { zadnji=zadnji->sljedeci; if( !zadnji->sljedeci ) { pogresan=true; break; } brojac++; } if( pogresan==true )cout<<"Taj element ne postoji!\n"; if( !pogresan ) { sve_zivotinje*brisani_element=zadnji->sljedeci; zadnji->sljedeci=zadnji->sljedeci->sljedeci; delete brisani_element; } return 0; } jedna_zivotinja * RetrieveL( int p,sve_zivotinje*lista ) { sve_zivotinje*zadnji=lista; int brojac=0; while( brojac<p&&zadnji!=NULL ) { zadnji=zadnji->sljedeci; brojac++; } return zadnji->element; } void DeleteAll( sve_zivotinje*lista ) { if(lista->sljedeci==NULL)return; sve_zivotinje*zadnji=lista->sljedeci; while( zadnji->sljedeci ) { novi=zadnji->sljedeci; delete zadnji; zadnji=novi; } delete zadnji; lista->sljedeci=NULL; } 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>31 ); 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 ) { sve_zivotinje*zadnji=lista; int brojac=0; while( zadnji->sljedeci ) { zadnji=zadnji->sljedeci; brojac++; } return brojac; } sve_zivotinje* InitL( sve_zivotinje*lista ) { lista= new sve_zivotinje; lista->sljedeci=NULL; return lista; } 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; }