Revision: 35014
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
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++