Revision: 35898
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 15, 2010 04:05 by returic
Initial Code
#include <iostream>
#include <cstdlib>
#include "stog_polje.h"
//#include "stog_pokazivac.h"
using namespace std;
void unos(stog *S) {
element b;
int n;
cout << "Koliko automobila zelite ukrcati: ";
cin >> n;
cout << "-------" << endl;
for(int i = 0; i < n; i++){
cout << "Serijski broj: ";
cin >> b.serijski_broj;
cin.ignore();
cout <<"Proizvodac: ";
cin.getline(b.proizvodac,40);
cout << "Model: ";
cin.getline(b.model,20);
do{
cout<<"Godina proizvodnje: ";
cin>>b.godina;
if (b.godina < 1995 || b.godina > 2010) cout<<"!!Godina mora biti unutar rasponu (1995-2010)!! ... "<<endl;
} while (b.godina < 1995 || b.godina > 2010);
PushS(b, S);
cout << "Automobil je uspjesno ukrcan!\n\n------------" << endl;
}
};
void prvo_uvjetno_iskrcavanje(stog *S,stog *pomS){
cout << "\n=Iskrcani automobili=" << endl;
cout << "=====================\n"<<endl;
while ( IsEmptyS(S)==0 ){
if (TopS(S).godina>2006 && strcmp(TopS(S).proizvodac,"Audi")){
cout<<"Automobil: " << TopS(S).proizvodac << " (" << TopS(S).godina << ")" << "\tModel: " << TopS(S).model << endl << endl;
PopS(S);
}
else {
PushS( TopS(S), pomS);
PopS(S);
}
}
cout << "\n=Stanje na skladistu poslije iskrcavanja=" << endl;
cout << "=========================================\n"<<endl;
while ( IsEmptyS(pomS)==0 ){
PushS( TopS(pomS), S);
cout << "Automobil: " << TopS(S).proizvodac << " (" << TopS(S).godina << ")" << "\tModel: " << TopS(S).model << endl << endl;
PopS(pomS);
}
};
int stanje = 0;
int drugo_uvjetno_iskrcavanje(stog *S){
element b = TopS(S);
bool rek = false;
if (!strcmp(b.proizvodac,"Audi")) cout << "Automobil: " << b.proizvodac << " (" << b.godina << ")" << "\tModel: " << b.model << endl << endl;
PopS(S);
if (!IsEmptyS(S) || rek) drugo_uvjetno_iskrcavanje(S);
rek = true;
if (strcmp(b.proizvodac,"Audi")){
PushS(b, S);
if (stanje == 0){
cout << "Stanje na skladistu poslije iskrcavanja" << endl;
cout << "=======================================\n"<<endl;
stanje = 1;
};
cout<<"Automobil: " << b.proizvodac << " (" << b.godina << ")" << "\tModel: " << b.model << endl << endl;
}
};
int main(){
int izbor;
stog *S = InitS();
stog *pomS = InitS();
do{
cout << "====================IZBORNIK====================" << endl;
cout << "1. Unos novih automobila" << endl;
cout << "2. Iskrcavanje automobila u prvu auto kucu" << endl;
cout << "3. Iskrcaj automobila u drugu auto kucu" << endl;
cout << "9. Izlazak iz programa"<<endl;
cout << "================================================" << endl;
cout << "Vas izbor: ";
cin>>izbor;
cout << "------" << endl;
switch(izbor){
case 1:{unos(S);}break;
case 2:{prvo_uvjetno_iskrcavanje(S,pomS);}break;
case 3:{
cout << "\n=Iskrcani automobili=" << endl;
cout << "=====================\n"<<endl;
drugo_uvjetno_iskrcavanje(S);}break;
case 9:{cout << "Hvala sto ste koristili ovaj program" << endl;}break;
default:{cout << "Opcija ne postoji" << endl;}
}
}while (izbor != 9);
system("pause");
return 1;
}
Initial URL
Initial Description
Initial Title
Simulacija ukrcaja, transporta i iskrcaja raznih marki i godišta automobila
Initial Tags
Initial Language
C++