Return to Snippet

Revision: 35898
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++