- //automobili.cpp//
- #include <iostream>
- //#include "stog_polje.h"
- #include "stog_pokazivac.h"
- using namespace std;
- void dodaj_automobil(stack *S)
- {
- elementtype automobil;
- cout << "--Sifra: ";
- cin >> automobil.serijski_broj;
- cout << "--Proizvodac: ";
- cin.ignore();
- cin.getline(automobil.proizvodac,20);
- cout << "--Model: ";
- cin.getline(automobil.model,20);
- bool upit=false;
- do
- {
- if(upit) cout << "---Krivi unos." << endl;
- cout << "--Godina proizvodnje (1995-2010): ";
- cin >> automobil.godina_proizvodnje;
- upit = true;
- }while(automobil.godina_proizvodnje < 1995 || automobil.godina_proizvodnje > 2010);
- PushS(automobil, S);
- }
- void iskrcavanje_kod_prve_autokuce(stack *stog)
- {
- if(!IsEmptyS(stog)){
- elementtype temp;
- stack tempStog;
- InitS(&tempStog);
- while(!IsEmptyS(stog))
- {
- temp = TopS(stog);
- PopS(stog);
- PushS(temp, &tempStog);
- if(temp.godina_proizvodnje >= 2006 && stricmp(temp.proizvodac, "audi"))
- {
- cout<<"Iskrcavam automobil:"<<endl;
- cout<<endl;
- cout<<"_____________________________________"<<endl;
- cout<<"--Serijski broj: "<< temp.serijski_broj<<endl;
- cout<<"--Proizvodac: "<< temp.proizvodac<<endl;
- cout<<"--Model: " <<temp.model<<endl;
- cout<<"--Godina proizvodnje: " <<temp.godina_proizvodnje<<endl;
- cout<<"_____________________________________"<<endl;
- }
- }
- cout << endl;
- if(!IsEmptyS(&tempStog))
- {
- cout<<"--Automobili na prikolici kamiona:"<<endl;
- cout<<endl;
- cout << "_____________________________________"<<endl;
- while(!IsEmptyS(&tempStog))
- {
- temp = TopS(&tempStog);
- PopS(&tempStog);
- if(temp.godina_proizvodnje < 2006 || !(stricmp(temp.proizvodac, "audi")) )
- {
- PushS(temp, stog);
- cout<<"--Serijski broj: "<<temp.serijski_broj<<endl;
- cout<<"--Proizvodac: "<<temp.proizvodac<<endl;
- cout<<"--Model: "<<temp.model<<endl;
- cout<<"--Godina proizvodnje: "<<temp.godina_proizvodnje<<endl;
- cout<<"_____________________________________"<<endl;
- cout<<endl;
- } }} }
- else{
- cout<<"---Nema unesenih automobila."<<endl;
- return;}
- }
- void iskrcavanje_kod_druge_autokuce(stack *S)
- {
- if(!IsEmptyS(S))
- {
- elementtype temp = TopS(S);
- PopS(S);
- if(!IsEmptyS(S))
- iskrcavanje_kod_druge_autokuce(S);
- if(!(stricmp(temp.proizvodac, "audi")))
- {
- cout<<"Iskrcavam automobil:"<<endl;
- cout<<endl;
- cout<<"_____________________________________"<<endl;
- cout<<"--Serijski broj: "<< temp.serijski_broj<<endl;
- cout<<"--Proizvodac: "<< temp.proizvodac<<endl;
- cout<<"--Model: " <<temp.model<<endl;
- cout<<"--Godina proizvodnje: " <<temp.godina_proizvodnje<<endl;
- cout<<"_____________________________________"<<endl;
- }
- else
- PushS(temp, S);
- return;
- }
- else{
- cout<<"---Nema unesenih automobila."<<endl;
- return;}
- }
- void popis_automobila(stack* S) {
- if(IsEmptyS(S)){
- cout<<"---Nema unesenih automobila."<<endl;
- return;
- }
- elementtype pomocna[20];
- int br=0;
- while(!IsEmptyS(S)){
- stog = TopS(S);
- pomocna[br] = stog;
- br++;
- PopS(S);
- }
- cout<<endl;
- cout<<"--Automobili na prikolici kamiona:"<<endl;
- cout<< endl;
- cout<<"_____________________________________"<<endl;
- cout<< endl;
- for (int i=br-1;i>=0;i--) {
- cout<<"--Serijski broj: " << pomocna[i].serijski_broj<<endl;
- cout<<"--Proizvodjac: " << pomocna[i].proizvodac<<endl;
- cout<<"--Model: " << pomocna[i].model<<endl;
- cout<<"--Godina proizvodnje: " << pomocna[i].godina_proizvodnje<<endl;
- cout<<"_____________________________________"<<endl;
- cout<<endl;
- stog = pomocna[i];
- PushS(stog, S);
- }
- }
- int main()
- {
- stack stog;
- elementtype element;
- InitS(&stog);
- int brojacZapisa = 0;
- int brojacUpisa = 0;
- int izbor;
- do{
- cout << "_____________________________________________"<<endl;
- cout << "- ZADATAK 2 - STRUKTURE PODATAKA - 10/11' -"<<endl;
- cout << "============================================="<<endl;
- cout << "1. Ukrcaj automobil na prikolicu" << endl;
- cout << "2. Iskrcaj automobila kod prve autokuce" << endl;
- cout << "3. Iskrcaj automobila kod druge autokuce" << endl;
- cout << "4. Popis automobila sa prikolice" << endl;
- cout <<endl;
- cout << "0. Izlaz" << endl;
- cout << "---------------------------------------------"<<endl;
- cout << "-Izbor: ";
- cin >> izbor;
- cout << endl << endl;
- switch(izbor)
- {
- case 1:
- dodaj_automobil(&stog);
- brojacZapisa++;
- break;
- case 2:
- iskrcavanje_kod_prve_autokuce(&stog);
- break;
- case 3:
- iskrcavanje_kod_druge_autokuce(&stog);
- break;
- case 4:
- popis_automobila(&stog);
- break;
- case 0:
- break;
- default:
- cout<<"---Krivi izbor";
- }
- system("pause");
- }while(izbor != 0);
- return 0;
- }