Zadatak iz strukture podataka.cpp





1
Date Submitted Sun. Oct. 24th, 2010 4:29 PM
Revision 1 of 1
Helper DarioFOI
Tags C | CPP | evidencija | pacijenata | podataka | strukture
Comments 0 comments
Program za evidenciju pacijenata. Unutar programa se nalaze funkcije za dodavanje, ispis i brisanje pacijenata.

#include <iostream>
#include "lista_polje.h"
//#include "lista_pokazivac.h"
using namespace std;


int dodavanje(list*lista){
        cout<<"Dodavanje pacijenta"<<endl;
        cout<<"Unesite ime pacijenta: "<<endl;
        cin.ignore();
        cin.getline(pacijent_novi[0].ime_prez,40);
        cout<<"Unesite maticni broj pacijenta: "<<endl;
        cin>>pacijent_novi[0].maticni;
        cout<<"Unesite starost pacijenta: "<<endl;
        cin>>pacijent_novi[0].godine;
        if (InsertL(pacijent_novi[0],EndL(lista),lista)){
                return 1;
        }
        else{
                return 0;
        }
}
void ispis_mladi_18(list*lista){
        int j;
                                j=0;
                                for(int i=0;i<EndL(lista);i++){
                                        pacijent_mladi[i]=RetrieveL(i,lista);
                                        if(pacijent_mladi[i].godine<18){
                                                cout<<"Maticni br. pacijenta: "<<pacijent_mladi[i].maticni<<endl;
                                                cout<<"Ime pacijenta: "<<pacijent_mladi[i].ime_prez<<endl;
                                                cout<<"Godine pacijenta: "<<pacijent_mladi[i].godine<<endl;
                                                j++;
                                        }
                                }
                                cout<<"Ukupan broj pacijenata mladih od 18: "<<j<<endl;
                                       
}
void ispis(list*lista){
        for(int i=0;i<EndL(lista);i++){
                pacijent[i]=RetrieveL(i,lista);      
        }
        int  i;
        tpacijent temp;
    int dim = EndL(lista);
    bool swapped = true;

    while (swapped)
       {
           swapped = false;
                for (i = 0; i < dim - 1; i++)
                {
                    if (pacijent[i].maticni  > pacijent[i + 1].maticni )
                    {
                                                temp = pacijent[i];
                                                pacijent[i]= pacijent[i + 1];
                                                pacijent[i + 1] = temp;
                        swapped = true;
                    }
                }
            }



        for(int i=0;i<EndL(lista);i++){
                cout<<"Maticni br. pacijenta: "<<pacijent[i].maticni<<endl;
                cout<<"Ime pacijenata: "<<pacijent[i].ime_prez<<endl;
                cout<<"Godine pacijenata: "<<pacijent[i].godine<<endl;
        }
}

int brisanje(list*lista){
        cout<<"Unesite maticni broj pacijenta kojeg zelite obrisati!"<<endl;
        int maticni;
        cin>>maticni;
        if(DeleteL(LocateL(maticni,lista),lista)){
                cout<<"Pacijent s maticnim brojem "<<maticni<<" je obrisan."<<endl;
                return 1;
        }
        else{
                return 0;
        }
}
int main(){
        int unos;
        list*lista;
        lista=new list;
        InitL(lista);
        do{
                cout<<"---------------IZBORNIK---------------"<<endl;
                cout<<"1. Dodavanje pacijenta "<<endl;
                cout<<"2. Brisanje pacijenta"<<endl;
                cout<<"3. Ispis svih pacijenata"<<endl;
                cout<<"4. Ispis pacijenata mladih od 18"<<endl;
                cout<<"9. Izlaz iz programa"<<endl;
                cout<<"--------------------------------------"<<endl;
                cin>>unos;
                switch(unos){
                        case 1:
                                dodavanje(lista);
                                break;
                        case 2:
                                brisanje(lista);
                                break;
                        case 3:
                                ispis(lista);
                               
                                break;
                        case 4:
                                ispis_mladi_18(lista);       
                                break;
                        case 9: break;
                        default: break;
               
                }
        }while(unos!=9);
        return 0;
}

 

Dario F

Comments

There are currently no comments for this snippet.

Voting

Votes Up


Newbie bactunisie

Votes Down