/ Published in: C++
funkcija zaglavlja koja će nam biti potrebna u main programu
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include <iostream> #include <string.h> using namespace std; struct tzivotinje{ int sifra; char vrsta[51]; char naziv[51]; int cijena; float datum; int godina; }; struct tlista{ tzivotinje zivotinje; tlista *sljedeci; }; typedef tlista *element; element FirstL(tlista *l){ return l->sljedeci; } element EndL(tlista *l){ tlista *tekuci = l; while(tekuci->sljedeci) tekuci=tekuci->sljedeci; return tekuci; } element NextL(element p, tlista *l){ if(p->sljedeci==NULL) return EndL(l); return p->sljedeci; } element PreviousL(element p, tlista *l){ tlista *tekuci = l->sljedeci; while(p != tekuci->sljedeci && tekuci->sljedeci!=NULL) tekuci=tekuci->sljedeci; return tekuci; } element LocateL(tzivotinje z, tlista *l){ element tekuci; tekuci = l->sljedeci; while(tekuci){ if(z.naziv!=0){ if(strcmp(z.naziv,tekuci->zivotinje.naziv)==0) return tekuci; } if(z.vrsta!=0) { if(strcmp(z.vrsta,tekuci->zivotinje.vrsta)==0) return tekuci; } tekuci = tekuci->sljedeci; } return EndL(l); } int InsertL(tzivotinje z, tlista *p, tlista *l){ tlista *tekuci = p; tlista *novi = new tlista; if(p==EndL(l)){ novi->sljedeci=NULL; tekuci->sljedeci = novi; tekuci->zivotinje = z; } else if(p==FirstL(l)){ novi->sljedeci = tekuci; l->sljedeci = novi; novi->zivotinje = z; } else{ tlista *prethodni = PreviousL(p,l); novi->sljedeci=tekuci; prethodni->sljedeci = novi; novi->zivotinje = z; } if(tekuci->zivotinje.sifra==z.sifra) return 1; else return 0; } int DeleteL(element p, tlista *l){ element prethodni, tekuci; tekuci = p; if(p==FirstL(l)){ l->sljedeci = tekuci->sljedeci; delete tekuci; return 1; } else{ prethodni = PreviousL(tekuci,l); prethodni->sljedeci = tekuci->sljedeci; delete tekuci; return 1; } return 0; } tzivotinje RetrieveL(element p, tlista *l){ return p->zivotinje; } element DeleteAllL(tlista *l){ l->sljedeci = EndL(l); } tlista* InitL(tlista *l){ l = new tlista; tlista *zadnji = new tlista; l->sljedeci = zadnji; zadnji->sljedeci = NULL; return l; }