Return to Snippet

Revision: 35864
at November 15, 2010 01:07 by DanijelTot


Initial Code
#include <iostream>
#include <string>

using namespace std;
struct slot{
      char proiz[25], model[25];
      int sifra,godina;        
};
//#include "stog_polje.h"
#include "stog_pokazivac.h"

void unos(tstack *stog);
void ispis();
void iskrcavanje1(tstack *stog);
void iskrcavanje2(tstack *stog, int opcija);

int main(){
    int iz;
    tstack *stog = new tstack;
    InitS(stog);
    do{
        system("cls");
        cout <<"Izbornik" <<endl;
        cout <<"1. Unesi automobile" <<endl;
        cout <<"2. Iskrcavanje automobila (proizvedeni poslije 2006. i nisu marke audi)" <<endl;
        cout <<"3. Iskrcavanje audija" <<endl;
        cout <<"9. Izlaz"<<endl;
        cout <<"\nIzbor : ";
        cin >> iz ;
        switch (iz){
               case 1:
                    unos(stog);
                    break;
               case 2:
                    cout <<"Iskrcavanje" <<endl;
                    iskrcavanje1(stog);
                    break;
               case 3:
                    cout <<"Iskrcavanje audija" <<endl;
                    iskrcavanje2(stog,0);
                    cout <<"\nStanje kamiona : \n";
                    iskrcavanje2(stog,1);
                    break;
               case 9: return 0;
               default:
                       cout <<"\nPogresan Unos!!\n";       
        }
    system("pause");
    }while(iz!=9);
    return 0;    
}

void unos(tstack *stog){
     char jos;
     slot automob;
     do{
        cout <<"\nSerijski broj : ";
        cin >> automob.sifra;
        cout <<"Marka  : ";
        cin.ignore();
        cin.getline(automob.proiz,25);
        cout <<"Model  : ";
        cin.getline(automob.model,25);
        do{
            cout << "Godina proizvodnje: ";
            cin >> automob.godina;
        }while(automob.godina<1995 || automob.godina>2010);
        PushS(automob,stog);
        cout <<"\nUkrcati jos (d/n) : ";
        cin >> jos;                  
     }while(jos=='d' || jos=='D');
}
void ispis(slot p){
     cout <<"\nSifra : "<<p.sifra<<endl;
     cout <<"Marka : "<<p.proiz<<endl; 
     cout <<"Model : "<<p.model<<endl;
     cout <<"Godina proizvodnje : "<<p.godina<<endl;    
}
void iskrcavanje1(tstack *stog){
     tstack *stog_p=new tstack;
     InitS(stog_p);
     cout <<"\nIskrcavanje iz kamiona : \n";
     while (IsEmptyS(stog)==1){
           if (TopS(stog).godina > 2006 && strcmp(TopS(stog).proiz,"audi")!=0)
              ispis(TopS(stog));
           else PushS(TopS(stog),stog_p);
           PopS(stog);                                                  
     }
     cout <<"\n\nVracanje u kamion : \n";
     while (IsEmptyS(stog_p)){
           PushS(TopS(stog_p),stog);
           ispis(TopS(stog));
           PopS(stog_p);
     } 
}

void iskrcavanje2(tstack *stog, int opcija){
     slot pom;
     if (IsEmptyS(stog)){
        pom=TopS(stog);
        PopS(stog);
        iskrcavanje2(stog,opcija);
     }
     else return;
     if (strcmp(pom.proiz,"audi")==0)
        ispis(pom);
     else{
         PushS(pom,stog);
         if (opcija) ispis(TopS(stog));
     }     
}

Initial URL


Initial Description


Initial Title
Glavni program automobili

Initial Tags
podataka

Initial Language
C++