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 popust;
- public:
- Pica(){this->popust=0;}
- Pica(char * ime, int cena, char * sostojki, int popust){
- strcpy(this->ime, ime);
- this->cena = cena;
- this->sostojki = new char[strlen(sostojki)+1];
- strcpy(this->sostojki, sostojki);
- this->popust = popust;
- }
- Pica(const Pica &p){
- strcpy(this->ime, p.ime);
- this->cena = p.cena;
- sostojki = new char[strlen(p.sostojki)+1];
- strcpy(this->sostojki, p.sostojki);
- this->popust = p.popust;
- }
- Pica &operator =(const Pica &p){
- if(this != &p){
- delete [] sostojki;
- strcpy(this->ime, p.ime);
- this->cena = p.cena;
- sostojki = new char[strlen(p.sostojki)+1];
- strcpy(this->sostojki, p.sostojki);
- this->popust = p.popust;
- }
- return *this;
- }
- void pecati(){
- if(popust >0){
- cout<<ime<< " - "<<sostojki<<", "<<cena<<" "<<cena-((float)cena/100*popust)<<endl;
- }
- }
- bool istiSe(const Pica &p){
- if(strcmp(sostojki, p.sostojki) == 0)return true; else return false;
- }
- ~Pica(){
- delete [] sostojki;
- }
- };
- class Picerija{
- private:
- char ime[15];
- int brojPici;
- Pica * pici;
- public:
- Picerija(){brojPici=0;}
- Picerija(char *ime){
- strcpy(this->ime, ime);
- brojPici=0;
- pici = new Pica[brojPici+1];
- }
- Picerija(const Picerija &p){
- strcpy(this->ime, p.ime);
- brojPici=p.brojPici;
- pici = new Pica[brojPici+1];
- for(int i=0; i<brojPici; i++){
- pici[i] = p.pici[i];
- }
- }
- Picerija &operator =(const Picerija &p){
- if(this != &p){
- strcpy(this->ime, p.ime);
- brojPici=p.brojPici;
- delete [] pici;
- pici = new Pica[brojPici];
- for(int i=0; i<brojPici; i++){
- pici[i] = p.pici[i];
- }
- }
- return *this;
- }
- void piciNaPromocija(){
- for(int i=0; i<this->brojPici; i++){
- this->pici[i].pecati();
- }
- }
- void setIme(char *ime){
- strcpy(this->ime, ime);
- }
- char *getIme(){
- return this->ime;
- }
- void dodadi(Pica &p){
- int ist= 0;
- for(int i=0; i<brojPici; i++){
- if(p.istiSe(pici[i]))ist = 1;
- }
- if(ist == 0){
- Pica * temp;
- temp = pici;
- pici = new Pica[brojPici+1];
- for(int i=0; i<brojPici; i++){
- pici[i] = temp[i];
- }
- pici[brojPici] = p;
- brojPici++;
- }
- }
- ~Picerija(){delete [] pici;}
- };
- 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