Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class ZicanInstrument
- {
- protected:
- char ime[20];
- int brZici;
- int cena;
- public:
- ZicanInstrument(char *ime="", int brZici=0, int cena=0)
- {
- strcpy(this->ime, ime);
- this->brZici=brZici;
- this->cena=cena;
- }
- int getBrZici()
- {
- return this->brZici;
- }
- virtual float price()=0;
- };
- class Mandolina:public ZicanInstrument
- {
- protected:
- char forma[20];
- public:
- Mandolina(char *ime="", int brZici=0, int cena=0, char *forma=""):ZicanInstrument(ime, brZici, cena)
- {
- strcpy(this->forma, forma);
- }
- float price()
- {
- if(strcmp(forma,"Neapolitan")==0)
- {
- return cena+(cena*15)/100;
- }
- return cena;
- }
- bool operator==(Mandolina &m)
- {
- return this->brZici==m.brZici;
- }
- friend ostream &operator<<(ostream &out, Mandolina &m)
- {
- return out<<m.ime<<m.brZici<<m.cena<<endl;
- }
- };
- class Violina:public ZicanInstrument
- {
- protected:
- float golemina;
- public:
- Violina(char *ime="", int brZici=0, int cena=0, float golemina=0):ZicanInstrument(ime, brZici, cena)
- {
- this->golemina=golemina;
- }
- float price()
- {
- if(golemina==0.25)
- {
- return cena+(cena*10)/100;
- }
- if(golemina==1)
- {
- return cena+(cena*20)/100;
- }
- return cena;
- }
- bool operator==(Violina &v)
- {
- return this->brZici==v.brZici;
- }
- friend ostream &operator<<(ostream &out, Violina &v)
- {
- return out<<v.ime<<v.brZici<<v.cena<<endl;
- }
- };
- void pecatiInstrumenti(ZicanInstrument &zi, ZicanInstrument **i, int n)
- {
- for(int c=0; c<n; c++)
- {
- if(i[c]->getBrZici()==zi.getBrZici())
- cout<<i[c]->price();
- }
- }
- int main()
- {
- char ime[20];
- int brZici;
- float cena;
- char forma[20];
- cin >> ime >> brZici >> cena >> forma;
- Mandolina m(ime, brZici, cena, forma);
- int n;
- cin >> n;
- ZicanInstrument **zi = new ZicanInstrument *[2 * n];
- for(int i=0; i<n; i++)
- {
- cin >> ime >> brZici >> cena >> forma;
- zi[i] = new Mandolina(ime, brZici, cena, forma);
- }
- for(int i=0; i<n; i++)
- {
- float golemina;
- cin >> ime >> brZici >> cena >> golemina;
- zi[n+i] = new Violina(ime, brZici, cena, golemina);
- }
- pecatiInstrumenti(m, zi, 2*n);
- for(int i = 0; i < 2 * n; ++i) {
- delete zi[i];
- }
- delete [] zi;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement