Return to Snippet

Revision: 35794
at November 13, 2010 08:55 by tina098


Initial Code
#include <iostream>
//#include "stog_polje.h"
#include "stog_pokazivac.h"
using namespace std;

void unos_automobila(){
     char jos = 'd';
     int brojac = 0;
     tAuto x;
     while ((jos=='d' || jos=='D') && (brojac!=50)) {
           cout << "-----------------------" << endl;
           cout << "Proizvodac: "; cin.getline(x.proizvodac,15);
           cout << "Model: "; cin.getline(x.model,15);
           cout << "Serijski broj: "; cin >> x.serijski_broj;
           cout << "Godina proizvodnje (1995-2010): "; cin >> x.god_proizvodnje;
           PushS(x,S);
           brojac++;
           cout << "Zelite li jos unositi? (d/n)"; cin >> jos;
           cin.ignore();
           }
     }
     
void ispis1(stog *S) {
     stog *pomocni;
     pomocni = InitS(pomocni);
     tAuto a;
     cout << "\nPROIZVEDENI POSLIJE 2006. I NISU MARKE AUDI" << endl; 
     while (!IsEmptyS(S)){  //ispisuje mlade od 2006. i koji nisu Audi
           a = TopS(S);
           if (a.god_proizvodnje > 2006 && (strcmp(a.proizvodac,"audi"))) {
                                 cout << "------------------" << endl;
                                 cout << "Proizvodac: " << a.proizvodac << endl;
                                 cout << "Model: " << a.model << endl;
                                 cout << "Serijski broj: " << a.serijski_broj << endl;
                                 cout << "Godina proizvodnje: " << a.god_proizvodnje << endl;
                                 }
           PushS(a,pomocni);
           PopS(S);
           }
     while (!IsEmptyS(pomocni)) { //vraca zapise iz pomocnog stoga u pocetni
           a = TopS(pomocni);
           PushS(a,S);
           PopS(pomocni);
           }
     cout << "\nISPIS STANJA NA STOGU" << endl;
     while (!IsEmptyS(S)){   //ispis stanja na stogu
           a = TopS(S);
           cout << "----------------------------------" << endl;
           cout << a.proizvodac << "\t" << a.model << "\t" << a.serijski_broj << "\t" << a.god_proizvodnje << endl;
           PushS(a,pomocni);
           PopS(S);           
           }
     while (!IsEmptyS(pomocni)) {  //vraca zapise iz pomocnog stoga u pocetni
           a = TopS(pomocni);
           PushS(a,S);
           PopS(pomocni);
           }
     }

void umetni_element(stog *S, tAuto a) {
     tAuto temp;
     if(IsEmptyS(S))
                   PushS(a,S);
     else {
          temp = TopS(S);
          PopS(S);
          umetni_element(S,a);
          PushS(temp,S);
          }
     }

void ispis2(stog *S) {
     tAuto a;
     if (!IsEmptyS(S)){  //ispisuje sve Audije
           a = TopS(S);
           PopS(S);
           if (!strcmp(a.proizvodac,"audi")) {
                                 cout << "------------------" << endl;
                                 cout << "Proizvodac: " << a.proizvodac << endl;
                                 cout << "Model: " << a.model << endl;
                                 cout << "Serijski broj: " << a.serijski_broj << endl;
                                 cout << "Godina proizvodnje: " << a.god_proizvodnje << endl;
                                 ispis2(S);
                                 umetni_element(S,a);
                                 }
           
           else {
                ispis2(S);
                umetni_element(S,a);
                }
           }
     }
     
void okreni_stog(stog *S) {
     tAuto a;
     if (!IsEmptyS(S)){
           a = TopS(S);
           PopS(S);
           okreni_stog(S);
           umetni_element(S,a);
           }
     }

int main () {
    tAuto a;
    S = InitS(S);
    cout << "----Unesite elemente----" << endl;
    unos_automobila();
    system("cls");
    cout << "\n----Iskrcaj automobila u prvoj auto kuci----" << endl;
    ispis1(S);
    system("pause");
    system("cls");
    cout << "\n----Iskrcaj automobila u drugoj auto kuci----" << endl;
    cout << "\nSVI KOJI SU MARKE AUDI" << endl;
    ispis2(S);
    okreni_stog(S);
    cout << "\nISPIS STANJA NA STOGU" << endl;
    while (!IsEmptyS(S)){   //ispis stanja na stogu
           a = TopS(S);
           cout << "----------------------------------" << endl;
           cout << a.proizvodac << "\t" << a.model << "\t" << a.serijski_broj << "\t" << a.god_proizvodnje << endl;
           PopS(S);           
           }
    cout << "\nKraj.\n" << endl;
    system("pause");
    return 0;}

Initial URL


Initial Description


Initial Title
Zadatak2: ukrcaj, transport i iskrcaj automobila

Initial Tags


Initial Language
C++