/ Published in: C++
polje.h header
Expand |
Embed | Plain Text
#include <iostream> using namespace std; bool PV=true; struct tdatum { int dan,Bmjesec,godina; char Rmjesec[10]; }; struct telement { int sifra; float cijena; char vrsta[100], naziv[100]; tdatum datum; }; struct lis{ telement element[1000]; int cursor; }; typedef int el; typedef lis lista; el FirstL(lista *zivotinje){ return 0; } el EndL (lista *zivotinje){ return zivotinje->cursor; } el NextL (el pozicija,lista *zivotinje){ if (pozicija==EndL(zivotinje)) cout<<"Error!\n"; return pozicija+1; } el PreviousL (el pozicija, lista *zivotinje){ if (pozicija==FirstL(zivotinje)) cout<<"Error!\n"; return pozicija-1; } el LocateL (telement trazeni, lista *zivotinje){ if (PV){ for (el i=0;i<zivotinje->cursor;i++) if (!(strcmp(trazeni.naziv,zivotinje->element[i].naziv))) return i;} else{ for (el i=0;i<zivotinje->cursor;i++) if (!(strcmp(trazeni.vrsta,zivotinje->element[i].vrsta))) return i;} return zivotinje->cursor; } int InsertL (telement novi, el pozicija, lista *zivotinje){ if (pozicija<=EndL(zivotinje)&&pozicija>=FirstL(zivotinje)){ zivotinje->cursor++; for (int i=zivotinje->cursor-2;i>=pozicija;i--) zivotinje->element[i+1]=zivotinje->element[i]; zivotinje->element[pozicija]=novi; return 1;} return 0; } int DeleteL (el pozicija, lista *zivotinje){ if (pozicija<EndL(zivotinje)&&pozicija>=FirstL(zivotinje)){ for (int i=pozicija; i<zivotinje->cursor-1;i++) zivotinje->element[i]=zivotinje->element[i+1]; zivotinje->cursor--; return 1;} return 0; } telement RetreiveL (el pozicija, lista *zivotinje){ return zivotinje->element[pozicija];} void DeleteAllL (lista *zivotinje){ zivotinje->cursor=0; } lista *InitL (lista *zivotinje){ zivotinje=new lista; zivotinje->cursor=0; return zivotinje; }
You need to login to post a comment.
