Revision: 34548
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 25, 2010 01:58 by dotonkovi
Initial Code
#include <iostream>
using namespace std;
struct pacijent {
char prez_ime[30];
int mat_br;
int dob;
};
struct pacijenti {
pacijent ID;
pacijenti *sljedeci;
};
void InitL(pacijenti *lista){
lista->sljedeci=NULL;
}
pacijenti *FirstL(pacijenti *lista){
return lista->sljedeci;
}
pacijenti *EndL(pacijenti *lista){
return NULL;
}
pacijenti *NextL(int p, pacijenti *lista){
pacijenti *zadnji;
zadnji=lista;
int brojac=0;
while(zadnji->sljedeci){
brojac++;
zadnji=zadnji->sljedeci;
if (brojac==p){
if (zadnji->sljedeci==NULL) return EndL(lista);
else return zadnji->sljedeci;
}
}
}
pacijenti *PreviousL(int p, pacijenti *lista){
pacijenti *zadnji, *prethodni;
prethodni=lista;
zadnji=prethodni->sljedeci;
int brojac=2;
if(p==0 || p==1)cout<<"Prethodni ne postoji"<<endl;
else{
while(zadnji->sljedeci){
prethodni=zadnji;
zadnji=zadnji->sljedeci;
prethodni->sljedeci=zadnji;
brojac++;
if(brojac==p) return prethodni->sljedeci;
}
}
}
pacijenti *LocateL(int pom, pacijenti *lista){
pacijenti *zadnji;
zadnji=lista;
int brojac=1;
while(zadnji->sljedeci){
if(pom==brojac) return zadnji->sljedeci;
zadnji=zadnji->sljedeci;
brojac++;
}
return EndL(lista);
}
void InsertL(pacijent pom, int p, pacijenti *lista){
int brojac=0;
pacijenti *zadnji,*prethodni;
prethodni=lista;
zadnji=prethodni->sljedeci;
while(prethodni->sljedeci){
if(p==brojac){
pacijenti *novi=new pacijenti;
novi->ID.mat_br=pom.mat_br;
novi->ID.dob=pom.dob;
novi->sljedeci=zadnji;
prethodni->sljedeci=novi;
}
prethodni=prethodni->sljedeci;
brojac++;
}
}
int novi_pacijent(pacijent pom, pacijenti *lista){
bool dodan=false;
pacijenti *zadnji, *novi;
zadnji=lista;
while(zadnji->sljedeci)
zadnji=zadnji->sljedeci;
novi=new pacijenti;
novi->ID=pom;
zadnji->sljedeci=novi;
novi->sljedeci=NULL;
dodan=true;
if(dodan) return 1;
else return 0;
}
int brisanje(pacijenti *lista, int mat_br){
pacijenti *brisi=lista->sljedeci;
pacijenti *prethodni=lista;
while(brisi){
if(brisi->ID.mat_br==mat_br){
prethodni->sljedeci=brisi->sljedeci;
delete brisi;
cout<<"Pacijent obrisan!"<<endl;
return 1;
}
prethodni=brisi;
brisi=brisi->sljedeci;
}
cout<<"Nije naden pacijent s tim maticnim brojem. :("<<endl;
return 0;
}
void DeleteL(int p, pacijenti *lista){
int brojac=1;
pacijenti *zadnji,*prethodni, *brisi;
prethodni=lista;
zadnji=prethodni->sljedeci;
while(prethodni->sljedeci){
if(p==brojac){
brisi=prethodni->sljedeci;
prethodni->sljedeci=brisi->sljedeci;
delete brisi;
}
}
}
pacijenti *RetrieveL(int p, pacijenti *lista){
int brojac=0;
pacijenti *trenutni;
trenutni=lista;
while(trenutni->sljedeci){
if (p==brojac) return trenutni;
else{
brojac++;
trenutni=trenutni->sljedeci;
}
}
}
void DeleteAllL(pacijenti *lista){
pacijenti *zadnji, *brisi;
while(lista->sljedeci){
brisi=lista->sljedeci;
zadnji=brisi->sljedeci;
lista->sljedeci=zadnji;
delete brisi;
}
}
void sortiranje(pacijenti *lista){
if(lista->sljedeci) {
pacijenti *prethodni,*tekuci,*sljedeci;
int indikator,brojac=0;
do{
indikator = 0;
tekuci=lista->sljedeci;
prethodni=lista;
while (tekuci->sljedeci){
sljedeci=tekuci->sljedeci;
if (tekuci->ID.mat_br > sljedeci->ID.mat_br){
prethodni->sljedeci=sljedeci;
tekuci->sljedeci=sljedeci->sljedeci;
sljedeci->sljedeci=tekuci;
indikator=1;
}
prethodni=prethodni->sljedeci;
tekuci=prethodni->sljedeci;
}
} while (indikator==1);
}
else cout<<"Lista je prazna!!! :("<<endl;
}
void popis(pacijenti *lista){
pacijenti *zadnji;
zadnji=lista->sljedeci;
while(zadnji){
cout<<"Ime i prezime pacijenta: "<<zadnji->ID.prez_ime<<endl;
cout<<"Maticni broj: "<<zadnji->ID.mat_br<<endl;
cout<<"Dob: "<<zadnji->ID.dob<<endl;
cout<<endl;
zadnji=zadnji->sljedeci;
}
}
void mladi(pacijenti *lista){
int brojac=0;
pacijenti *zadnji;
zadnji=lista;
while(zadnji){
if (zadnji->ID.dob<18){
cout << "Ime i prezime pacijenta: "<<zadnji->ID.prez_ime<<endl;
cout << "Maticni broj: "<<zadnji->ID.mat_br<<endl;
cout << "Dob: "<<zadnji->ID.dob<<endl;
cout << endl;
brojac++;
}
zadnji=zadnji->sljedeci;
}
if (lista->sljedeci==0) cout<<"Lista je prazna!!! :("<<endl;
else cout << "Mladih od 18 ima: "<<brojac<<". "<<endl;
}
Initial URL
Initial Description
Kod datoteke zaglavlja "lista_pokazivaci.h".
Initial Title
Datoteka zaglavlja "lista_pokazivaci.h"
Initial Tags
header
Initial Language
C++