Revision: 34528
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 24, 2010 05:46 by barrogar
Initial Code
#include <iostream>
#include "list_pokazivaci.h"
//#include "list_polje.h"
using namespace std;
void unos (list* lista) {
int broj, uspjesno_dodan=0, lokacija;
cout << "===================================" << endl;
cout << "Koliko pacijenata zelite unijeti: ";
cin >> broj;
cout << endl;
for (int i=0; i<broj; i++){
cout << "Maticni broj pacijenta: ";
cin >> pacijent.mb;
cout << "Ime i prezime pacijenta: ";
cin.ignore();
cin.getline(pacijent.ime, 30);
cout << "Godine pacijenta: ";
cin >> pacijent.godine;
cout << endl << "Zelite li pacijenta dodati na " << endl
<< "1.Pocetak liste" << endl
<< "2.Kraj liste" << endl
<< "Izbor: ";
cin >> lokacija;
cout << endl;
if (lokacija==1)
uspjesno_dodan = InsertL(pacijent, FirstL(lista), lista);
if (lokacija==2)
uspjesno_dodan = InsertL(pacijent, EndL(lista), lista);
if (uspjesno_dodan)
cout << "Pacijent je evidentiran" << endl;
else
cout << "Greska, pacijent nije evidentiran" << endl;
cout << "---------------------------------" << endl << endl;
}
};
void sort(list *lista) {
int broj_elemenata=0;
tpacijent polje[100];
element pozicija = FirstL(lista);
while (pozicija != EndL(lista)){
polje[broj_elemenata]=RetrieveL(pozicija, lista);
pozicija = NextL(pozicija, lista);
broj_elemenata++;
}
for (int i = 1; i<broj_elemenata;i++) {
int j = i-1;
tpacijent pom = polje[i];
while (j>=0 && polje[j].mb>pom.mb)
polje[j+1] = polje[j--];
polje[j+1] = pom;
}
cout << "========== Sortirani pacijenti ==========" << endl << endl;
for (int i=0; i<broj_elemenata; i++)
cout << "Maticni broj pacijenta: " << polje[i].mb << endl
<< "Ime i prezime pacijenta: " << polje[i].ime << endl
<< "Godine pacijenta: " << polje[i].godine << endl
<< "-------------------------------------------" << endl;
};
void ispis(list* lista) {
int broj_maloljetnika=0;
tpacijent maloljetnik;
cout << "======== Maloljetni pacijenti ========" << endl << endl;
element pozicija = FirstL(lista);
while (pozicija != EndL(lista)){
maloljetnik = RetrieveL(pozicija, lista);
if (maloljetnik.godine<=18){
cout << "Maticni broj pacijenta: " << maloljetnik.mb << endl
<< "Ime i prezime pacijenta: " << maloljetnik.ime << endl
<< "Godine pacijenta: " << maloljetnik.godine << endl
<< "-------------------------------------------" << endl;
broj_maloljetnika++;
}
pozicija = NextL(pozicija, lista);
}
cout << "Ukupno pacijenata mladih od 18 godina: " << broj_maloljetnika << endl;
};
void brisanje (list* lista) {
int izbor;
tpacijent maticni;
element pozicija;
cout << "Unesite maticni broj osobe za brisanje: ";
cin >> maticni.mb;
pozicija = LocateL(maticni, lista);
if (pozicija != EndL(lista)) {
maticni = RetrieveL(pozicija, lista);
cout << "===== Pronadjen pacijent ===== " << endl
<< "Maticni broj pacijenta: " << maticni.mb << endl
<< "Ime i prezime pacijenta: " << maticni.ime << endl
<< "Godine pacijenta: " << maticni.godine << endl
<< "--------------------------------------" << endl << endl
<< "Sigurno obisati?" << endl
<< "1. Obrisati" << endl
<< "2. Ostaviti" << endl
<< "Vas izbor: ";
cin >> izbor;
if (izbor == 1) {
int izbrisan = DeleteL(pozicija, lista);
if (izbrisan){
cout << "Pacijent je obrisan iz baze" << endl;
return;
}
else{
cout << "Greska, pacijent nije obrisan" << endl;
return;
}
} // if izbor 1
else if (izbor == 2) {
cout << "Pacijent nije obrisan prema izboru korisnika" << endl;
return;
}
else cout << "Krivi odabir, pacijent nije obrisan" << endl;
} // if pozicija
cout << "Pacijent s trazenim maticnim brojem ne postoji u evidenciji" << endl;
};
int main () {
int izbor;
list* lista = InitL(lista);
do {
cout << "========== Izbornik ==========" << endl
<< "1. Unos pacijenata" << endl
<< "2. Sortiranje pacijenata" << endl
<< "3. Ispis maloljetnih pacijenata" << endl
<< "4. Brisanje pacijenata" << endl
<< "9. Izlaz iz programa" << endl
<< "Izbor: ";
cin >> izbor;
cout << endl << endl;
switch (izbor) {
case 1:
unos(lista);
cout << endl;
break;
case 2:
sort(lista);
cout << endl;
break;
case 3:
ispis(lista);
cout << endl;
break;
case 4:
brisanje(lista);
cout << endl;
break;
case 9:
break;
}
} while (izbor!=9);
return 0;
};
Initial URL
Initial Description
Initial Title
Sp zadatak 1 main, Barbara Rogar
Initial Tags
Initial Language
C++