Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class Pica
- {
- private:
- char ime[15];
- int cena;
- char *sostojki;
- int namaluvanje;
- public:
- Pica(char *ime="", int cena=0, char *sostojki="", int namaluvanje=0)
- {
- strcpy(this->ime, ime);
- this->cena = cena;
- this->sostojki = new char[strlen(sostojki)+1];
- strcpy(this->sostojki, sostojki);
- this->namaluvanje = namaluvanje;
- }
- Pica(const Pica &p)
- {
- strcpy(this->ime, p.ime);
- this->cena = p.cena;
- this->sostojki = new char[strlen(p.sostojki)+1];
- strcpy(this->sostojki, p.sostojki);
- this->namaluvanje = p.namaluvanje;
- }
- char *getSostojki()
- {
- return this->sostojki;
- }
- char *getIme()
- {
- return this->ime;
- }
- int getNamaluvanje()
- {
- return this->namaluvanje;
- }
- void setIme(char *ime)
- {
- strcpy(this->ime, ime);
- }
- int getCena()
- {
- return this->cena;
- }
- void setCena(int cena)
- {
- this->cena=cena;
- }
- ~Pica()
- {
- delete[]this->sostojki;
- }
- void pecati()
- {
- cout<<this->ime<<" - "<<this->sostojki<<", "<<this->cena;
- }
- bool istiSe(Pica p)
- {
- if(strcmp(this->sostojki, p.sostojki)==0)
- return true;
- return false;
- }
- Pica &operator = (Pica &p)
- {
- strcpy(this->ime, p.ime);
- this->cena = p.cena;
- delete[]this->sostojki;
- this->sostojki = new char[strlen(p.sostojki)+1];
- strcpy(this->sostojki, p.sostojki);
- return *this;
- }
- };
- class Picerija
- {
- private:
- char ime[15];
- Pica *pici;
- int brPici;
- public:
- Picerija(char *ime="", Pica *pici=0, int brPici=0)
- {
- strcpy(this->ime, ime);
- this->brPici = brPici;
- this->pici = new Pica[brPici];
- for(int i=0; i<brPici; i++)
- {
- this->pici[i] = pici[i];
- }
- }
- Picerija(const Picerija &p)
- {
- strcpy(this->ime, p.ime);
- this->brPici = p.brPici;
- this->pici = new Pica[p.brPici];
- for(int i=0; i<p.brPici; i++)
- {
- this->pici[i] = p.pici[i];
- }
- }
- char *getIme()
- {
- return this->ime;
- }
- void setIme(char *ime)
- {
- strcpy(this->ime, ime);
- }
- ~Picerija()
- {
- delete[]this->pici;
- }
- bool proverka(Pica t)
- {
- for(int i=0; i<brPici; i++)
- {
- if(strcmp(pici[i].getSostojki(), t.getSostojki())==0)
- {
- return false;
- }
- }
- return true;
- }
- void dodadi(Pica p)
- {
- Pica t=p;
- if(proverka(t))
- {
- Pica *tmp;
- tmp = new Pica[this->brPici+1];
- for(int i=0; i<this->brPici; i++)
- {
- tmp[i] =this->pici[i];
- }
- delete[]this->pici;
- this->pici = new Pica[this->brPici+1];
- for(int i=0; i<brPici; i++)
- {
- this->pici[i]=tmp[i];
- }
- delete[]tmp;
- this->pici[this->brPici] = p;
- this->brPici++;
- }
- }
- void piciNaPromocija()
- {
- for(int i=0; i<this->brPici; i++)
- {
- if(this->pici[i].getNamaluvanje()>0 && this->pici[i].getNamaluvanje()<100)
- {
- this->pici[i].pecati();
- cout<<" ,"<<this->pici[i].getCena() - this->pici[i].getCena()*(this->pici[i].getNamaluvanje())/100;
- }
- }
- }
- };
- //Vasiot kod tuka
- int main () {
- int n;
- char ime[15];
- cin >> ime;
- cin >> n;
- Picerija p1(ime);
- for(int i = 0; i < n; i++){
- char imp[100];
- cin.get();
- cin.getline(imp,100);
- int cena;
- cin >> cena;
- char sostojki[100];
- cin.get();
- cin.getline(sostojki,100);
- int popust;
- cin >> popust;
- Pica p(imp,cena,sostojki,popust);
- p1.dodadi(p);
- }
- Picerija p2 = p1;
- cin >> ime;
- p2.setIme(ime);
- char imp[100];
- cin.get();
- cin.getline(imp,100);
- int cena;
- cin >> cena;
- char sostojki[100];
- cin.get();
- cin.getline(sostojki,100);
- int popust;
- cin >> popust;
- Pica p(imp,cena,sostojki,popust);
- p2.dodadi(p);
- cout<<p1.getIme()<<endl;
- cout<<"Pici na promocija:"<<endl;
- p1.piciNaPromocija();
- cout<<p2.getIme()<<endl;
- cout<<"Pici na promocija:"<<endl;
- p2.piciNaPromocija();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement