Return to Snippet

Revision: 34549
at October 25, 2010 02:00 by dotonkovi


Initial Code
#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;
}

Initial URL


Initial Description
Kod za datoteku zaglavlja "lista_polje.h".

Initial Title
Datoteka zaglavlja "lista_polje.h"

Initial Tags
header

Initial Language
C++