Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class ZicanInstrument
- {
- protected:
- char ime[20];
- int brZici;
- int cena;
- public:
- ZicanInstrument(char ime[20]="", int brZici=0, int cena=0)
- {
- this->brZici=brZici;
- this->cena=cena;
- strcpy(this->ime, ime);
- }
- virtual int cenaC(){return this->cena;}
- friend ostream& operator<<(ostream &out,ZicanInstrument &z)
- {
- return out<<z.ime<<" "<<z.brZici<<" "<<z.cena<<endl;
- }
- bool operator==(ZicanInstrument &z)
- {
- return this->brZici==z.brZici;
- }
- int getbrZici()
- {
- return this->brZici;
- }
- };
- class Mandolina:public ZicanInstrument
- {
- private:
- char forma[20];
- public:
- Mandolina(char ime[20]="", int brZici=0, int cena=0, char forma[20]=""):ZicanInstrument(ime , brZici, cena)
- {
- strcpy(this->forma, forma);
- }
- int cenaC()
- {
- if(strcmp(forma, "Neapolitan")==0)
- return cena+(cena*0.15);
- return cena;
- }
- friend ostream& operator<<(ostream &out,Mandolina &m)
- {
- return out<<m.ime<<" "<<m.brZici<<" "<<m.cena<<" "<<m.forma<<endl;
- }
- bool operator==(Mandolina &m)
- {
- return this->brZici==m.brZici;
- }
- int getbrZici()
- {
- return this->brZici;
- }
- };
- class Violina:public ZicanInstrument
- {
- private:
- float golemina;
- public:
- Violina(char ime[20]="", int brZici=0, int cena=0, float golemina=0.0):ZicanInstrument(ime , brZici, cena)
- {
- this->golemina=golemina;
- }
- int cenaC()
- {
- if(golemina==0.25)
- return cena+(cena*0.1);
- else
- if(golemina==1)
- return cena+(cena*0.2);
- else
- return cena;
- }
- friend ostream& operator<<(ostream &out,Violina &v)
- {
- return out<<v.ime<<" "<<v.brZici<<" "<<v.cena<<" "<<v.golemina<<endl;
- }
- bool operator==(Violina &v)
- {
- return this->brZici==v.brZici;
- }
- int getbrZici()
- {
- return this->brZici;
- }
- };
- void pecatiInstrumenti(ZicanInstrument &zi, ZicanInstrument **i, int n)
- {
- for(int k=0; k<n; k++)
- {
- if(i[k]->getbrZici()==zi.getbrZici())
- {
- cout<<i[k]->cenaC()<<endl;
- }
- }
- }
- int main() {
- char ime[20];
- int brojZici;
- float osnovna_cena;
- char forma[20];
- cin >> ime >> brojZici >> osnovna_cena >> forma;
- Mandolina m(ime, brojZici, osnovna_cena, forma);
- int n;
- cin >> n;
- ZicanInstrument **zi = new ZicanInstrument*[2 * n];
- for(int i = 0; i < n; ++i) {
- cin >> ime >> brojZici >> osnovna_cena >> forma;
- zi[i] = new Mandolina(ime, brojZici, osnovna_cena, forma);
- }
- for(int i = 0; i < n; ++i) {
- float golemina;
- cin >> ime >> brojZici >> osnovna_cena >> golemina;
- zi[n + i] = new Violina(ime, brojZici, osnovna_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