/ Published in: C++
Expand |
Embed | Plain Text
#include<iostream> #include"stack_polje.h" //#include"stack_pokazivac.h" using namespace std; void ispis(glava S) { tautomobil auti[50]; int br=0; while(!IsEmptyS(S)){ automobil = TopS(S); auti[br] = automobil; br++; PopS(S); } cout << "U kamionu se nalaze: " << endl << endl; cout << "------------------------------------------" << endl; for (int i=br-1;i>=0;i--) { cout << "------------------------------------------" << endl; cout << "Serijski broj automobila: " << auti[i].serijski << endl; cout << "Proizvodac automobila: " << auti[i].proizvodac << endl; cout << "Model automobila: " << auti[i].model << endl; cout << "Godina proizvodnje: " << auti[i].godina << endl; cout << "------------------------------------------" << endl; cout << endl; automobil = auti[i]; PushS(automobil, S); } } void unos (glava S){ cout << "Serijski broj automobila: "; cin >> automobil.serijski; cout << "Proizvodac automobila: "; cin.ignore(); cin.getline(automobil.proizvodac, 50); cout << "Model automobila: "; cin.getline(automobil.model, 50); do { cout << "Godina proizvodnje: "; cin >> automobil.godina; if (automobil.godina < 1995 ||automobil.godina>2010) cout << "Godina mora biti izmedu 1995 i 2010" << endl; } while (automobil.godina < 1995 ||automobil.godina>2010); cout << endl; PushS(automobil, S); } void iskrcaj_po_godini(glava S) { glava pomocni = InitS(pomocni); tautomobil aut; cout << "Iskrcani automobili:" << endl; cout << "------------------------------------------" << endl; while(!IsEmptyS(S)){ aut = TopS(S); PopS(S); PushS(aut, pomocni); if(aut.godina>=2006) if(stricmp(aut.proizvodac,"Audi")) { cout << "------------------------------------------" << endl; cout << "Serijski broj automobila: " << aut.serijski << endl; cout << "Proizvodac automobila: " << aut.proizvodac << endl; cout << "Model automobila: " << aut.model << endl; cout << "Godina proizvodnje: " << aut.godina << endl; cout << "------------------------------------------" << endl; cout << endl; } } while(!IsEmptyS(pomocni)) { aut = TopS(pomocni); PopS(pomocni); if(aut.godina<2006 || !(stricmp(aut.proizvodac,"Audi"))) PushS(aut,S); } } void iskrcaj_audi(glava S) { tautomobil iskrcani = TopS(S); if(!stricmp(iskrcani.proizvodac,"Audi")){ cout << "------------------------------------------" << endl; cout << "Serijski broj automobila: " << iskrcani.serijski << endl; cout << "Proizvodac automobila: " << iskrcani.proizvodac << endl; cout << "Model automobila: " << iskrcani.model << endl; cout << "Godina proizvodnje: " << iskrcani.godina << endl; cout << "------------------------------------------" << endl; cout << endl; } PopS(S); if(!IsEmptyS(S)) iskrcaj_audi(S); if(stricmp(iskrcani.proizvodac,"Audi")) PushS(iskrcani, S); } int main () { int izbor; glava S = InitS(S); do { cout << "---- Izbornik ----" << endl; cout << "1. Unos automobila u stack" << endl; cout << "2. Ispis automobila iz stack-a" << endl; cout << "3. Iskrcaj automobila s godinom proizvodnje 2006-2010 (osim Audija)" << endl; cout << "4. Iskrcaj Audija" << endl; cout << "9. Izlaz iz programa" << endl; cout << "Vas izbor: "; cin >> izbor; cout << endl; switch (izbor) { case 1: unos(S); cout << endl; break; case 2: ispis(S); cout << endl; break; case 3: if(!IsEmptyS(S)) { iskrcaj_po_godini(S); cout << endl; ispis(S); } break; case 4: if(!IsEmptyS(S)) { cout << "Iskrcani automobili:" << endl; cout << "------------------------------------------" << endl; iskrcaj_audi(S); ispis(S); cout << endl; } break; case 9: break; default: cout << endl << endl; } } while (izbor!=9); return 0; }
You need to login to post a comment.
