/ Published in: C++
Prikaz glavnog koda
Expand |
Embed | Plain Text
#include <cstdlib> #include <iostream> using namespace std; #include "stog_pokazivac.h" //#include "stog_polje.h" STACK *s; automobil a; char audi[] = "Audi"; void Unos (STACK *stack1) { automobil A; cout << "\nSerijski broj: "; cin >> A.sbroj; cout << "Proizvodjac: "; cin.ignore(); cin.getline(A.proizv, 20); cout << "Model: "; cin.getline(A.model, 20); int p = 0; do { cout << "Godina proizvodnje: "; cin >> A.god; if (A.god < 1995 || A.god > 2010) { cout << "Godista automobila moraju biti u rasponu od 1995 do 2010!\n"; p = 1; } } while (p); PushS(A, stack1); } void Stanje_na_stogu (STACK *stack1) { STACK *stack2 = new STACK; InitS(stack2); while ( !IsEmptyS(stack1) ) { a = TopS(stack1); cout << "\nSerijski broj: " << a.sbroj << "\nProizvodjac: " << a.proizv << "\nModel: " << a.model << "\nGodina proizvodnje: " << a.god << "\n"; PushS(a, stack2); PopS(stack1); } while ( !IsEmptyS(stack2)) { a = TopS(stack2); PushS(a, stack1); PopS(stack2); } } void Iskrcaj (STACK *stack1) { s = new STACK; InitS(s); while (!IsEmptyS(stack1)) { a = TopS(stack1); if (a.god >= 2007 && strcmp(a.proizv, audi)) cout << "\nSerijski broj: " << a.sbroj << "\nProizvodjac: " << a.proizv << "\nModel: " << a.model << "\nGodina proizvodnje: " << a.god; else PushS(a, s); PopS(stack1); } while ( !IsEmptyS(s)) { a = TopS(s); PopS(s); PushS(a, stack1); } delete s; } void Iskrcaj_2 (STACK *stack1) { automobil a = TopS(stack1); PopS(stack1); bool v = false; if (! strcmp(a.proizv, audi)) cout << "\nSerijski broj: " << a.sbroj << "\nProizvodjac: " << a.proizv << "\nModel: " << a.model << "\nGodina proizvodnje: " << a.god << "\n"; // ispis podataka o automobil ako je marke Audi else v = true; if ( !IsEmptyS(stack1)) Iskrcaj_2(stack1); if (v) PushS(a, stack1); } int main() { STACK *stack1 = new STACK; InitS(stack1); int opcija; do { cout << "\n\nOdaberite opciju:\n1. Funkcija 1 (unos)\n2. Funkcija 2 (ispis/iskrcaj)\n3. Funkcija 3 (ispis/iskrcaj)\n4. Izlaz\nVas izbor: "; cin >> opcija; switch (opcija) { case 1: Unos(stack1); break; case 2: cout << "\n\nPocetno stanje na stogu: \n"; Stanje_na_stogu(stack1); cout << "\n\nIskrcani automobili:\n"; Iskrcaj(stack1); cout << "\n\n\nStanje na stogu nakon iskrcaja: \n\n"; Stanje_na_stogu(stack1); break; case 3: cout << "\n\nPocetno stanje na stogu: \n"; Stanje_na_stogu(stack1); cout << "\nIskrcani automobili:\n"; Iskrcaj_2(stack1); cout << "\n\n\nStanje na stogu nakon iskrcaja: \n\n"; Stanje_na_stogu(stack1); break; } } while (opcija != 4); delete stack1; system("pause"); return 0; }
You need to login to post a comment.
