/ Published in: C++
URL: http://snipplr.com/edit/68228
Datoteka zaglavlja koje se koristi u glavnom programu
Expand |
Embed | Plain Text
typedef int element; struct lista { int sifra[50], cijena[50], dan[50], mjesec[50], godina[50], pokazivac; char vrsta[50][50], naziv[50][50]; }; struct podaci { int sifra, cijena, dan, mjesec, godina; char vrsta[50], naziv[50]; }zivotinja; lista* InitL(lista *l) { l = new lista; l -> pokazivac = 0; return l; } bool InsertL(podaci p, element e, lista *l) { int i; if(e == l -> pokazivac) { l -> pokazivac++; l -> sifra[e] = p.sifra; strcpy(l -> vrsta[e], p.vrsta); strcpy(l -> naziv[e], p.naziv); l -> cijena[e] = p.cijena; l -> dan[e] = p.dan; l -> mjesec[e] = p.mjesec; l -> godina[e] = p.godina; return 1; } else if((e <= l -> pokazivac) && (e >= 0)) { for(i = l -> pokazivac; i >= e; i--) { l -> sifra[i] = l -> sifra[i - 1]; strcpy(l -> vrsta[i], l -> vrsta[i - 1]); strcpy(l -> naziv[i], l -> naziv[i - 1]); l -> cijena[i], l -> cijena[i - 1]; l -> dan[i], l -> dan[i - 1]; l -> mjesec[i], l -> mjesec[i - 1]; l -> godina[i], l -> godina[i - 1]; } l -> pokazivac++; l -> sifra[e] = p.sifra; strcpy(l -> vrsta[e], p.vrsta); strcpy(l -> naziv[e], p.naziv); l -> cijena[e] = p.cijena; l -> dan[e] = p.dan; l -> mjesec[e] = p.mjesec; l -> godina[e] = p.godina; return 1; } else return 0; } element EndL(lista *l) { return l -> pokazivac; } element FirstL(lista *l) { if(l -> pokazivac == 0) EndL(l); return 0; } podaci RetrieveL(element e, lista *l) { if((e < l -> pokazivac) && (e >= 0)) { zivotinja.sifra = l -> sifra[e]; strcpy(zivotinja.vrsta, l -> vrsta[e]); strcpy(zivotinja.naziv, l -> naziv[e]); zivotinja.cijena = l -> cijena[e]; zivotinja.dan = l -> dan[e]; zivotinja.mjesec = l -> mjesec[e]; zivotinja.godina = l -> godina[e]; return zivotinja; } } element PreviousL(element e, lista *l) { if((e > l -> pokazivac) || (e <= 0)) return 0; return(e-1); } element NextL(element e, lista *l) { if((e >= l -> pokazivac) || (e < 0)) return 0; return(e + 1); } bool DeleteL(element e, lista *l) { int i; if((e < l -> pokazivac) && (e >= 0)) { for(i = e; i < l -> pokazivac; i++) { l -> sifra[i] = l -> sifra[i + 1]; strcpy(l -> vrsta[i], l -> vrsta[i + 1]); strcpy(l -> naziv[i], l -> naziv[i + 1]); l -> cijena[i], l -> cijena[i + 1]; l -> dan[i], l -> dan[i + 1]; l -> mjesec[i], l -> mjesec[i + 1]; l -> godina[i], l -> godina[i + 1]; } l -> pokazivac--; return 1; } else return 0; } element LocateL(podaci p, lista *l) { int i = 0; while((i != l -> pokazivac) && (l -> sifra[i] != p.sifra)) i++; return i; } void DeleteAllL(lista *l) { l -> pokazivac = 0; }
You need to login to post a comment.
