Return to Snippet

Revision: 35014
at November 1, 2010 06:05 by KrunoslavPipic


Initial Code
#include<iostream>
using namespace std;

struct struktura{
       int sifra;
       char naziv[50];
       int dob;
       }pacijent;

typedef int tip;

#include "lista_polje.h"

int unos(lista *L){
    int temp=prvi(L);
    struktura pom;
    cout<<"\n\nUnesite maticni broj pacijenta: ";
    cin>>pacijent.sifra;
    if(pacijent.sifra<0){
                          cout<<"\nPogresan unos!";
                          cout<<"\nNiste uspijeli dodat pacijenta!";
                          return 0;
                          }
    if(lociraj(pacijent.sifra,L)!=zadnji(L)){
                                               cout<<"\nPacijent s tim maticnim brojem vec postoji!";
                                               cout<<"\nNiste uspijeli dodat pacijenta!";
                                               return 0;
                                               }
    cout<<"\nUnesite ime i prezime pacijenta: ";
    cin.ignore();
    cin.getline(pacijent.naziv, 50);
    if(pacijent.naziv==""){
                           cout<<"\nPogresan unos!";
                           cout<<"\nNiste uspijeli dodat pacijenta!";
                           return 0;
                           }
    cout<<"\nUnesite dob pacijenta: ";
    cin>>pacijent.dob;
    if(pacijent.dob<=0 || pacijent.dob>=100){
                       cout<<"\nPogresan unos";
                       cout<<"\nNiste uspijeli dodat pacijenta!";
                       return 0;
                       }
    else{
         temp=prvi(L);
         umetni(pacijent,temp,L);     
         cout<<"\nPacijent je uspijesno dodan!";
         return 1;
         }
    }
    
void ispis_sortirano(lista *L){
if (prvi(L)==zadnji(L)){
                 cout << "\nNema zapisanih pacijenata!";
                 }
else{
    bool zamjena = true;
    for (int i = zadnji(L)-1; i > 0 && zamjena; i--) {
        zamjena = false;
        for (int j = 0; j < i; j++){
            if (L->polje[j].sifra > L->polje[j+1].sifra){
               struktura pom = L->polje[j];
               L->polje[j] = L->polje[j+1];
               L->polje[j+1] = pom;
               zamjena = true;
               }
            }
        }
    for(int i=0;i<zadnji(L);i++){
            cout<<"\n\nMaticni broj pacijenta: "<< dohvati(lociraj(L->polje[i].sifra,L),L).sifra<<endl;
            cout<<"\nIme i prezime pacijenta: "<< dohvati(lociraj(L->polje[i].sifra,L),L).naziv<<endl;
            cout<<"\nGodine pacijenta: "<< dohvati(lociraj(L->polje[i].sifra,L),L).dob<<endl;
            cout<<"\n-------------------------------------------\n";
            }
    }
}

void mladji_od_18(lista *L){
     int ukupno=0;
     if (prvi(L)==zadnji(L)){
                 cout << "\nNema zapisanih pacijenata";
                 }
     else{
          for(int i=0;i<zadnji(L);i++){
                  if(L->polje[i].dob<18){
                                              cout<<"\n\nMaticni broj: "<<L->polje[i].sifra;
                                              cout<<"\nIme i prezime: "<<L->polje[i].naziv;
                                              cout<<"\nGodine: "<<L->polje[i].dob;
                                              ukupno++;
                                              }
                  
                  }
     if(ukupno==0){
                   cout<<"\nNema pacijenata mladjih od 18 godina!";
                   }
     else{
          cout<<"\nUkupno pacijenata mladjih od 18: "<<ukupno<<endl;
          }
     }
} 

int obrisi(lista *L, int trazena_sifra){
    int pom=prvi(L);
    if(sljedeci(pom,L)==0){
                            cout<<"\nLista je prazna!";
                            return 0;
                            }
    if(lociraj(trazena_sifra,L)==zadnji(L)){
                                 cout<<"\nPacijent s trazenim maticnim brojem ne postoji!";
                                 cout<<"\nNiste uspijeli izbrisat pacijenta!";
                                 return 0;
                                 }
    else{
         brisi(lociraj(trazena_sifra,L),L);
         cout<<"\nPacijent je uspijesno izbrisan!";
         return 1;
         }
    }



int main(){
    lista pacijenti;
    pocetno(&pacijenti);
    int izbor;
    char jos;
    int trazeni;
    do {
        system("color A");
        cout<<"\n\n\tIZBORNIK";
        cout<<"\n\n1. Dodavanje pacijenata";
        cout<<"\n2. Ispis svih pacijenata(sortirani prema maticnom broju uzlazno)";
        cout<<"\n3. Ispis svih pacijenata mladjih od 18 godina";
        cout<<"\n4. Brisanje pacienata";
        cout<<"\n9. Izlaz iz programa";
        cout<<"\nBirate? ";
        cin>>izbor;
        cout<<"\n----------------------------------------\n";
        switch(izbor){
                      case 1:
                           do{
                           unos(&pacijenti);
                           cout<<"\nZelite li dodavati jos pacijenata?(d/n)";
                           cin>>jos;
                           }while(jos=='d');
                           break;
                      case 2:
                           ispis_sortirano(&pacijenti);
                           break;
                      case 3:
                           mladji_od_18(&pacijenti);
                           break;
                      case 4:
                           do{
                           ispis_sortirano(&pacijenti);
                           cout<<"Upisite maticni broj pacijenta kojeg zelite izbrisati: ";
                           cin>>trazeni;
                           cout<<"\n--------------------------------------------";
                           obrisi(&pacijenti,trazeni);
                           cout<<"\nZelite li brisati jos pacijenata?(d/n)";
                           cin>>jos;
                           }while(jos=='d');
                           break;
                      case 9:
                           cout<<"\nIzlazim iz programa...\n";
                           brisi_sve(&pacijenti);
                           break;
                      default:
                              cout<<"\nKrivi izbor!\n";
                      }
        }while(izbor!=9);
    
    
    
    system("pause");
    return 0;
    }

Initial URL


Initial Description


Initial Title
Glavni dio programa

Initial Tags


Initial Language
C++