Return to Snippet

Revision: 35894
at November 15, 2010 03:32 by makruljac


Initial Code
STOG_POLJE.cpp
------------
#include<iostream>
#include<cstring>
using namespace std;
typedef int element;
struct auti{
       int serijski_br;
       char proizvodac[20];
       char model[30];
       int godina;
       };
struct stog{
       auti a[100];
       int top;
       };
stog s;
int brojac=99;
int PushS(int sb,char pr[],char md[],int g,int upis){
    if(s.top<0) cout << "Stog je pun!" << endl;
    else{
         s.a[brojac].serijski_br=sb;
         strcpy(s.a[brojac].proizvodac,pr);
         strcpy(s.a[brojac].model,md);
         s.a[brojac].godina=g;
         brojac--;
         s.top=brojac;
         }
}

void TopS(int brzp){
     s.top=100-brzp;
     while(s.top<100){
          cout << s.a[s.top].serijski_br << "\t" << s.a[s.top].proizvodac << "\t" << s.a[s.top].model << "\t" << s.a[s.top].godina << endl;
          s.top++;
          }
     }
     
void TopS_bez(int brzp){
     s.top=100-brzp;
     if(strcmp(s.a[s.top].proizvodac,"audi")!=0 && s.a[s.top].godina>2006){
                                             cout <<s.a[s.top].serijski_br << "\t" << s.a[s.top].proizvodac << "\t" << s.a[s.top].model << "\t" << s.a[s.top].godina << endl;
                                             }
     }
     
void TopS_audi(int brzp){
     s.top=100-brzp;
     if(strcmp(s.a[s.top].proizvodac,"audi")==0){
                                             cout <<s.a[s.top].serijski_br << "\t" << s.a[s.top].proizvodac << "\t" << s.a[s.top].model << "\t" << s.a[s.top].godina << endl;
                                             }
     }
     
int PopS(int brzp){
     s.top=99-brzp;
     if(s.top==99) cout << "Stog je prazan\nNema elemenata za brisanje!" << endl;
     else{
          memcpy(&s.a[s.top+1],&s.a[s.top],sizeof(auti));
          s.top++;
          cout << "Element s vrha stoga je izbrisan!" << endl;
          }
     }
int InitS(int brzp){
     s.top=99-brzp;
     if(s.top==99) cout << "Stog je vec prazan!" << endl;
     else{
          for(int i=s.top;i<=99;){
                  memcpy(&s.a[s.top+1],&s.a[s.top],sizeof(auti));
                  s.top++;
                  }
          }
     }

int IsEmptyS(int brzp){
     s.top=100-brzp;
     if(s.top==100) return 1;
     else return 0;
}


STOG_POLJE.h
------------
#include "stog_polje.cpp"
extern int PushS();
extern void TopS();
extern void TopS_audi();
extern void TopS_bez();
extern int PopS();
extern int InitS();
extern int IsEmptyS();

Initial URL


Initial Description


Initial Title
Strukture podataka - Zadatak2 - biblioteka

Initial Tags


Initial Language
C++