Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1111111111111111111111111111111111111111
- #include <iostream>
- #include <string.h>
- using namespace std;
- class Osoba
- {
- protected:
- int starost;
- char *ime;
- public:
- Osoba(){ime=new char[20];}
- Osoba(int s, char *i)
- {
- starost=s;
- ime=new char[strlen(i)+1];
- strcpy(ime,i);
- }
- Osoba(Osoba const &X)
- {
- starost=X.starost;
- ime=new char[strlen(X.ime)+1];
- strcpy(ime,X.ime);
- }
- virtual ~Osoba()
- {
- delete [] ime;
- ime=0;
- }
- void promjeniStarost(int s){starost=s;}
- void promjeniIme(char *i){strcpy(ime,i);}
- char *vratiIme(){return ime;}
- int vratiStarost(){return starost;}
- virtual void stampaj()
- {
- cout<<starost<<", "<<ime;
- }
- };
- class Zaposleni: public Osoba
- {
- private:
- int plata;
- public:
- Zaposleni(){}
- Zaposleni(int s, char *i, int p):Osoba(s,i)
- {
- plata=p;
- }
- Zaposleni(Zaposleni const &X):Osoba(X)
- {
- plata=X.plata;
- }
- ~Zaposleni(){}
- void promjeniPlatu(int p){plata=p;}
- int vratiPlatu(){return plata;}
- void stampaj()
- {
- //cout<<starost<<", "<<ime; //moglo je i ovako da se stampa
- Osoba::stampaj();
- cout<<", "<<plata<<endl;
- }
- };
- int main()
- {
- Osoba *X;
- X=new Zaposleni(36,"Pero",600);
- X->stampaj();
- Osoba *nizOsoba[3];
- nizOsoba[0]=new Zaposleni(36,"Dragan",572);
- nizOsoba[1]=new Zaposleni(36,"Marko",852);
- nizOsoba[2]=new Zaposleni(36,"Sneza",815);
- for(int i=0;i<3;i++)
- nizOsoba[i]->stampaj();
- }
- 1111111111111111111111111112222222222222
- #include <iostream>
- #include <string.h>
- using namespace std;
- class Osoba
- {
- protected:
- int starost;
- char *ime;
- public:
- Osoba(){ime=new char[20];}
- Osoba(int s, char *i)
- {
- starost=s;
- ime=new char[strlen(i)+1];
- strcpy(ime,i);
- }
- Osoba(Osoba const &X)
- {
- starost=X.starost;
- ime=new char[strlen(X.ime)+1];
- strcpy(ime,X.ime);
- }
- ~Osoba()
- {
- delete [] ime;
- ime=0;
- }
- void promjeniStarost(int s){starost=s;}
- void promjeniIme(char *i){strcpy(ime,i);}
- char *vratiIme(){return ime;}
- int vratiStarost(){return starost;}
- void stampaj()
- {
- cout<<starost<<", "<<ime;
- }
- };
- class Zaposleni: public Osoba
- {
- private:
- int plata;
- public:
- Zaposleni(){}
- Zaposleni(int s, char *i, int p):Osoba(s,i)
- {
- plata=p;
- }
- Zaposleni(Zaposleni const &X):Osoba(X)
- {
- plata=X.plata;
- }
- ~Zaposleni(){}
- void promjeniPlatu(int p){plata=p;}
- int vratiPlatu(){return plata;}
- void stampaj()
- {
- Osoba::stampaj();
- cout<<", "<<plata<<endl;
- }
- };
- int main()
- {
- Zaposleni *X=new Zaposleni(36,"Pero",600);
- X->stampaj();
- /*
- Osoba *nizOsoba[3];
- nizOsoba[0]=new Zaposleni(36,"Dragan",572);
- nizOsoba[1]=new Zaposleni(36,"Marko",852);
- nizOsoba[2]=new Zaposleni(36,"Sneza",815);
- for(int i=0;i<3;i++)
- nizOsoba[i]->stampaj();
- */
- }
- 22222222222222222222222222222222222222222222222222222222
- #include <iostream>
- #include <string.h>
- using namespace std;
- class Reklama
- {
- protected:
- char *oglasavac;
- char *tekstReklame;
- int brojDanaPrikazivanja;
- public:
- Reklama(){oglasavac=new char[20], tekstReklame=new char[20];}
- Reklama(char *o, char *t, int br)
- {
- oglasavac=new char[strlen(o)+1];
- strcpy(oglasavac,o);
- tekstReklame=new char[strlen(t)+1];
- strcpy(tekstReklame,t);
- brojDanaPrikazivanja=br;
- }
- Reklama(Reklama const &X)
- {
- oglasavac=new char[strlen(X.oglasavac)+1];
- strcpy(oglasavac,X.oglasavac);
- tekstReklame=new char[strlen(X.tekstReklame)+1];
- strcpy(tekstReklame,X.tekstReklame);
- brojDanaPrikazivanja=X.brojDanaPrikazivanja;
- }
- virtual ~Reklama()
- {
- delete [] oglasavac;
- oglasavac=0;
- delete [] tekstReklame;
- tekstReklame=0;
- }
- void promjeniTekst(char *t)
- {
- tekstReklame=new char[strlen(t)+1];
- strcpy(tekstReklame,t);
- }
- virtual float cijenaReklame()=0;//potpuna virtuelna funkcija, potrebna je makar jedna u klasi, da bi klasa bila apstraktna
- virtual void citajReklamu()
- {
- cout<<"oglasavac: "<<oglasavac<<", sa tekstom: "<<tekstReklame<<", prikazuje se: "<<brojDanaPrikazivanja<<"dana"<<endl;
- }
- };
- class Bilbord: public Reklama
- {
- private:
- float visina, sirina;
- int brojBilborda;
- float cijenaPoMKv;
- public:
- Bilbord(){}
- Bilbord(char *o, char *t, int br, float v, float s, int brB, float c):Reklama(o,t,br)
- {
- visina=v;
- sirina=s;
- brojBilborda=brB;
- cijenaPoMKv=c;
- }
- Bilbord(const Bilbord &X): Reklama(X)
- {
- visina=X.visina;
- sirina=X.sirina;
- brojBilborda=X.brojBilborda;
- cijenaPoMKv=X.cijenaPoMKv;
- }
- ~Bilbord(){}
- float cijenaReklame()
- {
- return visina*sirina*brojBilborda*cijenaPoMKv*brojDanaPrikazivanja;
- }
- void citajReklamu()
- {
- Reklama::citajReklamu();
- cout<<"U pitanju je bilbord dimenzija "<<visina<<"x"<<sirina<<"koji je aktivan "
- <<brojDanaPrikazivanja<<" dana"<<endl;
- }
- };
- class TV: public Reklama
- {
- private:
- char *tvStanica;
- int trajanjeEmitovanja;
- float cijena1Sekunde;
- public:
- TV(){tvStanica=new char[20];}
- TV(char *o, char *t, int br, char *tv, int tr, float c):Reklama(o,t,br)
- {
- tvStanica=new char[strlen(tv)+1];
- strcpy(tvStanica,tv);
- trajanjeEmitovanja=tr;
- cijena1Sekunde=c;
- }
- TV(const TV &X):Reklama(X)
- {
- tvStanica=new char[strlen(X.tvStanica)+1];
- strcpy(tvStanica,X.tvStanica);
- trajanjeEmitovanja=X.trajanjeEmitovanja;
- cijena1Sekunde=X.cijena1Sekunde;
- }
- ~TV()
- {
- delete [] tvStanica;
- tvStanica=0;
- }
- float cijenaReklame()
- {
- return trajanjeEmitovanja*cijena1Sekunde*brojDanaPrikazivanja;
- }
- void citajReklamu()
- {
- Reklama::citajReklamu();
- cout<<"U pitanju je TV reklama na stanici "<<tvStanica<<" u trajanju od "
- <<trajanjeEmitovanja<<" sekundi na dan"<<endl;
- }
- };
- int main()
- {
- Reklama *nizReklama[4];
- nizReklama[0]=new Bilbord("Oglasivac1","Reklama1",5,2,3,5,30.5);
- nizReklama[1]=new Bilbord("Oglasivac2","Reklama2",6,2,3,4,20.5);
- nizReklama[2]=new TV("Oglasivac3","Reklama3",5,"Vijesti",100,6.8);
- nizReklama[3]=new TV("Oglasivac4","Reklama4",3,"RTCG",200,14.8);
- for(int i=0;i<4;i++)
- {
- nizReklama[i]->citajReklamu();
- cout<<"Cijena reklame je "<<nizReklama[i]->cijenaReklame()<<" eura"<<endl<<endl;;
- }
- }
- 333333333333333333333333333333333333333333333333333333333333
- #include <iostream>
- #include <string.h>
- #include <stdlib.h>
- using namespace std;
- class Radnik
- {
- private:
- int id;
- char* datumRodjenja;
- float *nizPlata;
- int N;
- public:
- static float maxPlata;
- Radnik(){}
- Radnik(int i, char *d, float *pl, int n)
- {
- id=i;
- datumRodjenja=new char[strlen(d)+1];
- strcpy(datumRodjenja,d);
- N=n;
- nizPlata=new float[N];
- for(int j=0;j<N;j++)
- nizPlata[j]=pl[j];
- }
- Radnik(const Radnik &X)
- {
- id=X.id;
- datumRodjenja=new char[0];
- strcpy(datumRodjenja,X.datumRodjenja);
- N=X.N;
- nizPlata=new float[N];
- for(int i=0;i<N;i++)
- nizPlata[i]=X.nizPlata[i];
- }
- ~Radnik()
- {
- delete [] datumRodjenja;
- delete [] nizPlata;
- }
- Radnik operator=(const Radnik &X)
- {
- if(this!=&X)
- {id=X.id;
- datumRodjenja=new char[strlen(X.datumRodjenja)+1];
- strcpy(datumRodjenja,X.datumRodjenja);
- N=X.N;
- nizPlata=new float[N];
- for(int i=0;i<N;i++)
- nizPlata[i]=X.nizPlata[i];
- }
- return *this;
- }
- int operator>(char *d)
- {
- if(godina(datumRodjenja)>godina(d))
- return 1;
- else if (godina(datumRodjenja)<godina(d))
- return 0;
- else
- {
- if (mjesec(datumRodjenja)>mjesec(d))
- return 1;
- else
- return 0;
- }
- }
- int godina(char *d)
- {
- char GG[3];
- GG[0]=d[0];
- GG[1]=d[1];
- GG[2]='\0';
- return atoi(GG);
- }
- int mjesec(char *d)
- {
- char MM[3];
- MM[0]=d[3];
- MM[1]=d[4];
- MM[2]='\0';
- return atoi(MM);
- }
- float prosjecnaPlata()
- {
- float S=0;
- for(int i=0;i<N;i++)
- S+=nizPlata[i];
- return S/N;
- }
- void stampaj()
- {
- cout<<"Id radnika je '"<<id<<"', datum rodjenja "
- <<datumRodjenja<<", a prosjecna plata je "<<prosjecnaPlata()<<endl;
- }
- };
- float Radnik::maxPlata=0;
- class Firma
- {
- protected:
- Radnik *nizRadnika;
- int duzina;
- public:
- Firma(){}
- Firma(Radnik *niz, int N)
- {
- nizRadnika=new Radnik[N];
- for(int i=0;i<N;i++)
- nizRadnika[i]=niz[i];
- duzina=N;
- }
- ~Firma()
- {
- delete [] nizRadnika;
- }
- };
- class Korporacija: public Firma
- {
- private:
- int godinaOsnivanja;
- public:
- Korporacija(){}
- Korporacija(Radnik *niz, int N, int g): Firma(niz,N), godinaOsnivanja(g){}
- ~Korporacija(){}
- Radnik *najplaceniji(char *d1, char *d2, int &N)
- {
- Radnik *niz=new Radnik[duzina];
- int j=0;
- for(int i=0;i<duzina;i++)
- {
- if (nizRadnika[i]>d1==1 && nizRadnika[i]>d2==0)
- niz[j++]=nizRadnika[i];
- }
- N=j;
- Radnik pom;
- for(int i=0;i<N-1;i++)
- for(int j=i+1;j<N;j++)
- if(niz[i].prosjecnaPlata()<niz[j].prosjecnaPlata())
- {
- pom=niz[i];
- niz[i]=niz[j];
- niz[j]=pom;
- }
- for(int i=0;i<N;i++)
- niz[i].stampaj();
- return niz;
- }
- };
- int main()
- {
- Radnik *niz=new Radnik[4];
- float plate1[4]={200,300,400,500};
- float plate2[4]={200,200,400,500};
- float plate3[4]={200,100,400,500};
- float plate4[4]={200,150,400,500};
- niz[0]=Radnik(1,"17-01",plate1,4);
- niz[1]=Radnik(2,"17-02",plate2,4);
- niz[2]=Radnik(3,"15-05",plate3,4);
- niz[3]=Radnik(4,"14-03",plate4,4);
- Korporacija CocaCola(niz,4,1907);
- int N=0;
- Radnik *noviNiz=CocaCola.najplaceniji("15-04","17-03",N);
- for(int i=0;i<N;i++)
- noviNiz[i].stampaj();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement