/ Published in: C++
Kod za datoteku zaglavlja "lista_polje.h".
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#include <iostream> using namespace std; struct pacijent { char prez_ime[30]; int mat_br; int dob; }; struct pacijenti { pacijent ID[25]; int kursor; }; void InitL(pacijenti *lista){ lista->kursor=0; } int FirstL(pacijenti *lista){ return 0; } int EndL(pacijenti *lista){ return lista->kursor; } int NextL(int p, pacijenti *lista){ if(p==lista->kursor-1) return EndL(lista); if (p>=lista->kursor) cout << "Pogreska! "<<endl; else{ cout << "Ime i prezime pacijenta: "<<lista->ID[p+1].prez_ime; cout << "Maticni broj: "<<lista->ID[p+1].mat_br; cout << "Dob: "<<lista->ID[p+1].dob; } } void PreviousL(int p, pacijenti *lista){ if(p==lista->kursor) { cout << "Ime i prezime pacijenta: "<<lista->ID[lista->kursor-1].prez_ime; cout << "Maticni broj pacijenta: "<<lista->ID[lista->kursor-1].mat_br; cout << "Dob pacijenta: "<<lista->ID[lista->kursor-1].dob; } else{ if (p<=0 || p>lista->kursor) cout << "Pogreska!"<<endl; else{ cout << "Ime i prezime pacijenta: "<<lista->ID[p-1].prez_ime; cout << "Maticni broj pacijenta: "<<lista->ID[p-1].mat_br; cout << "Dob pacijenta: "<<lista->ID[p-1].dob; } } } int LocateL(int pom, pacijenti *lista){ for (int i=0;i<lista->kursor;i++){ if (lista->ID[i].mat_br==pom) return i; } return EndL(lista); } void InsertL(pacijent pom, int p, pacijenti *lista){ if(p>=0 && p<=lista->kursor){ lista->kursor++; for (int i=lista->kursor-1;i>=p;i--){ lista->ID[i]=lista->ID[i-1]; } lista->ID[p]=pom; } else cout << "Ne moze!"<<endl; } void DeleteL(int p, pacijenti *lista){ if(p>=0 && p<=lista->kursor){ for (int i=p;i<lista->kursor-1;i++){ lista->ID[i]=lista->ID[i+1]; } lista->kursor--; } else cout << "Ne moze!"<<endl; } pacijent RetrieveL(int p, pacijenti *lista){ if (p<0 || p>=lista->kursor) cout << "Ne moze!"<<endl; else return lista->ID[p]; } void DeleteAllL(pacijenti *lista){ lista->kursor=0; } int novi_pacijent(pacijent pom, pacijenti *lista){ bool dodan=false; lista->ID[lista->kursor]=pom; lista->kursor++; cout<<"Pacijent dodan!"<<endl; dodan = true; if(dodan) return 1; else return 0; } void sortiranje(pacijenti *lista){ if(lista->kursor!=0) { for (int i=1; i<lista->kursor; i++){ int j=i-1; pacijent pom=lista->ID[i]; while(j>=0 && lista->ID[j].mat_br>pom.mat_br) lista->ID[j+1]=lista->ID[j--]; lista->ID[j+1]=pom; } } else cout<<"Lista je prazna!!! :("<<endl; } void popis(pacijenti *lista){ for(int i=0;i<lista->kursor;i++){ cout << "Ime i prezime pacijenta: "<<lista->ID[i].prez_ime<<endl; cout << "Maticni broj: "<<lista->ID[i].mat_br<<endl; cout << "Dob: "<<lista->ID[i].dob<<endl; cout << endl; } } void mladi(pacijenti *lista){ int brojac=0; for (int i=0;i<lista->kursor;i++){ if (lista->ID[i].dob<18){ cout << "Ime i prezime pacijenta: "<<lista->ID[i].prez_ime<<endl; cout << "Maticni broj: "<<lista->ID[i].mat_br<<endl; cout << "Dob: "<<lista->ID[i].dob<<endl; cout << endl; brojac++; }} if(lista->kursor==0) cout<<"Lista je prazna!!! :("<<endl; else cout << "Mladih od 18 ima: "<<brojac<<". "<<endl; } int brisanje(pacijenti *lista, int mat_br){ for (int i=0;i<lista->kursor;i++){ if(lista->ID[i].mat_br==mat_br){ for (int j=i;j<lista->kursor-1;j++) lista->ID[j]=lista->ID[j+1]; lista->kursor--; cout<<"Pacijent obrisan!"<<endl<<endl; return 1; } } cout<<"Nije naden pacijent s tim maticnim brojem. :("<<endl; return 0; }