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 broj;
- int cena;
- public:
- ZicanInstrument(char*ime="", int broj = 0 , int cena = 0 ){
- strcpy(this->ime,ime);
- this->broj=broj;
- this->cena=cena;
- }
- ZicanInstrument(const ZicanInstrument &z)
- {
- strcpy(this->ime,z.ime);
- this->broj=z.broj;
- this->cena=z.cena;
- }
- virtual int Cena()=0;
- int getBroj(){return this->broj;}
- };
- bool operator==(ZicanInstrument &levo , ZicanInstrument &desno)
- {
- return levo.getBroj()==desno.getBroj();
- }
- class Mandolina : public ZicanInstrument
- {
- private:
- char forma[20];
- public:
- Mandolina(char*ime="", int broj = 0 , int cena = 0 , char*forma=""):ZicanInstrument(ime,broj,cena){
- strcpy(this->forma,forma);
- }
- Mandolina(const Mandolina &m):ZicanInstrument(m){
- strcpy(this->forma,m.forma);
- }
- int Cena()
- {
- if(strcmp(forma,"Neapolitan")==0)
- {
- return cena+(cena*0.15);
- }
- else
- return cena;
- }
- friend ostream &operator <<(ostream &out , const Mandolina &m)
- {
- out<<m.ime<<" "<<m.broj<<" "<<m.cena<<" "<<m.forma<<" "<<endl;
- return out;
- }
- };
- class Violina : public ZicanInstrument{
- private:
- float golemina;
- public:
- Violina(char*ime="", int broj = 0 , int cena = 0 ,float golemina = 0.0):ZicanInstrument(ime,broj,cena)
- {
- this->golemina=golemina;
- }
- Violina(const Violina &v) :ZicanInstrument (v)
- {
- this->golemina=v.golemina;
- }
- int Cena()
- {
- if(golemina==0.25)
- {
- return cena+(cena * 0.1);
- }
- else if(golemina==1){
- return cena+(cena *0.2);
- }
- return cena;
- }
- friend ostream &operator <<(ostream &out , const Violina &v)
- {
- out<<v.ime<<" "<<v.broj<<" "<<v.cena<<" "<<v.golemina<<" "<<endl;
- return out;
- }
- };
- void pecatiInstrumenti(ZicanInstrument &zi, ZicanInstrument **instrument, int n)
- {
- for(int i = 0 ; i < n ; i++)
- {
- if(instrument[i]->getBroj()==zi.getBroj())
- {
- cout<<instrument[i]->Cena()<<endl;
- }
- }
- }
- int main() {
- char ime[20];
- int brojZici;
- float cena;
- char forma[20];
- cin >> ime >> brojZici >> cena >> forma;
- Mandolina m(ime, brojZici, cena, forma);
- int n;
- cin >> n;
- ZicanInstrument **zi = new ZicanInstrument*[2 * n];
- for(int i = 0; i < n; ++i) {
- cin >> ime >> brojZici >> cena >> forma;
- zi[i] = new Mandolina(ime, brojZici, cena, forma);
- }
- for(int i = 0; i < n; ++i) {
- float golemina;
- cin >> ime >> brojZici >> cena >> golemina;
- zi[n + i] = new Violina(ime, brojZici, 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