/ Published in: C++
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
#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; };