/ Published in: C++
main funkcija
Expand |
Embed | Plain Text
#include <iostream> #include <cstring> //#include "lista_polje.h" #include "lista_pokazivaci.h" using namespace std; int izbornik(){ int izbor; cout << endl << "------------ I Z B O R N I K --------------" << endl; cout << "1. Dodaj zapis u listu" << endl; cout << "2. Ispisi listu" << endl; cout << "3. Ispis dodanih nakon 23. rujna 2012" << endl; cout << "4. Brisanje po nazivu (pojedinacno)" << endl; cout << "5. Brisanje po vrsti" << endl; cout << "9. Izlaz" << endl << endl; cout << "Odaberite jednu od mogucnosti: "; cin >> izbor; cout << endl; return izbor; } void unos(char *znakovi){ cin.getline(znakovi,50); if(cin.gcount()==1) cin.getline(znakovi,50); }; int dodaj() { tZivotinja novi; novi.sifra=sifra++; cout << "Unos novih zivotinja: " << endl; cout << "Sifra (Auto Number): " << novi.sifra << endl; cout<<"Vrsta: "; unos(novi.vrsta); cout<<"Naziv: "; unos(novi.naziv); cout<<"Cijena: "; cin>>novi.cijena; if(novi.cijena<=0){ sifra--; return 0; } cout<<"Unesite datum dostave: " << endl; cout<<"Dan: "; cin>>novi.datum.dan; if(novi.datum.dan <=0 || novi.datum.dan >31){ sifra--; return 0; } cout<<"Mjesec (npr. listopad): "; unos(novi.datum.mjesec); cout<<"Godina: "; cin>>novi.datum.godina; if(novi.datum.godina <1900 || novi.datum.godina >2012){ sifra--; return 0; } InsertL(novi,br_elem,lista); br_elem++; return 1; } void ispis1() { tZivotinja a; int brojac=0; int p = PreviousL(EndL(lista),lista); while(brojac < br_elem){ a = RetrieveL(p,lista); cout << "Sifra: "; cout << a.sifra << endl; cout << "Vrsta: "; cout << a.vrsta << endl; cout << "Naziv: "; cout << a.naziv << endl; cout << "Cijena: "; cout << a.cijena << endl; cout << "Datum: "; cout << a.datum.dan << ". "; cout << a.datum.mjesec << " "; cout << a.datum.godina <<"." << endl; cout<<"-------------------------------" << endl; p = PreviousL(p,lista); brojac++; } cout << "Broj upisanih zivotinja: " << brojac << endl << endl; } void ispis2() { int brojac=0; tZivotinja a; int p = FirstL(lista); while(p!=EndL(lista)) { a = RetrieveL(p,lista); if(a.datum.godina>=2012) if((!strcmp(a.datum.mjesec,"rujan") && a.datum.dan > 23) || !strcmp(a.datum.mjesec,"listopad") || !strcmp(a.datum.mjesec,"studeni") || !strcmp(a.datum.mjesec,"prosinac")) { cout << "Sifra: "; cout << a.sifra << endl; cout << "Vrsta: "; cout << a.vrsta << endl; cout << "Naziv: "; cout << a.naziv << endl; cout << "Cijena: "; cout << a.cijena << endl; cout << "Datum: "; cout << a.datum.dan << ". "; cout << a.datum.mjesec << " "; cout << a.datum.godina <<"." << endl; cout<<"-------------------------------" << endl; brojac++; } p = NextL(p,lista); } cout<<"Broj pronadjenih zivotinja: " << brojac << endl << endl; } int brisanje_naziva() { char naziv[50]; tZivotinja a; cout<<"Unesite naziv zivotinje: "; unos(naziv); int p = LocateL(naziv,lista); if(p == EndL(lista)) return 0; else { DeleteL(p,lista); br_elem--; return 1; } } int brisanje_vrsta() { char vrsta[35]; tZivotinja a; int p; bool obrisan=0; br=1; cout<<"Unesite vrstu zivotinje: "; unos(vrsta); while (LocateL(vrsta,lista)!=EndL(lista)) { p = LocateL(vrsta,lista); DeleteL(p,lista); br_elem--; obrisan=1; } br=0; if(!obrisan) return 0; else return 1; } int main() { int izbor=0; InitL(lista); do { izbor = izbornik(); switch(izbor) { case 1: if(dodaj()) cout<<"Zapis je uspjesno dodan." << endl; else cout<<"Pogresan unos" << endl; break; case 2: ispis1();break; case 3: ispis2();break; case 4: if(brisanje_naziva()) cout << "Zivotinja je obrisana" << endl; else cout << "Unijeli ste krivi naziv zivotinje!!"; break; case 5: if(brisanje_vrsta()) cout << "Vrsta je obrisana" << endl; else cout << "Unijeli ste krivu vrstu zivotinje!!" << endl; break; case 9: break; default: cout << "Pogresan unos" << endl; } }while(izbor!=9); DeleteAll(lista); system("pause"); return 0; }
You need to login to post a comment.
