Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class SaksiskoCvekje
- {
- protected:
- char ime[10];
- int cena;
- char familija[10];
- public:
- SaksiskoCvekje(const char *i="",int c=0 , const char *f="" )
- {
- strcpy(ime,i);
- cena=c;
- strcpy(familija,f);
- }
- virtual int presmetajCena()
- {
- return cena;
- }
- bool operator == (SaksiskoCvekje &cv)
- {
- return familija==cv.familija;
- }
- char *getF()
- {
- return familija;
- }
- char *getI()
- {
- return ime;
- }
- friend ostream& operator<<(ostream &x , SaksiskoCvekje &t)
- {
- x<<t.ime<<" "<<t.familija<<" "<<t.presmetajCena();
- }
- };
- class BezCvet:public SaksiskoCvekje
- {
- protected:
- int den;
- public:
- BezCvet(const char *i="",int c=0 , const char *f="" , int d=0):SaksiskoCvekje(i,c,f)
- {
- den=d;
- }
- int presmetajCena()
- {
- if(den<10)
- return SaksiskoCvekje::presmetajCena()*1.2;
- else if(den<35)
- return SaksiskoCvekje::presmetajCena()*1.1;
- else
- return SaksiskoCvekje::presmetajCena();
- }
- };
- class SoCvet:public SaksiskoCvekje
- {
- protected:
- int cvetovi;
- public:
- SoCvet(const char *i="",int c=0 , const char *f="" , int cvetovi=0):SaksiskoCvekje(i,c,f)
- {
- this->cvetovi=cvetovi;
- }
- int presmetajCena()
- {
- return SaksiskoCvekje::presmetajCena()*cvetovi;
- }
- };
- void pecatiMaxCena(SaksiskoCvekje **cvekinja , int n , SaksiskoCvekje &c)
- {
- float max=0;
- int index;
- for(int i=0;i<n;i++)
- {
- if(*cvekinja[i]==c)
- {
- if(max<cvekinja[i]->presmetajCena())
- {
- max=cvekinja[i]->presmetajCena();
- index = i;
- }
- }
- }
- cout<<cvekinja[index]->getI()<<" "<<cvekinja[index]->getF()<<" "<<cvekinja[index]->presmetajCena()<<endl;
- }
- int main(){
- char ime[10],familija[10];
- int tip,starost,broj,cena;
- int n;
- cin>>n;
- SaksiskoCvekje **cvekinja;
- cvekinja=new SaksiskoCvekje*[n];
- for (int i=0;i<n;i++){
- cin>>tip>>ime>>cena>>familija;
- if (tip==1) {
- cin>>starost;
- cvekinja[i]=new BezCvet(ime,cena,familija,starost);
- }
- else {
- cin>>broj;
- cvekinja[i]=new SoCvet(ime,cena,familija,broj);
- }
- }
- BezCvet nov("opuntia",90,"cactus",10);
- pecatiMaxCena(cvekinja,n,nov);
- for (int i=0;i<n;i++) delete cvekinja[i];
- delete [] cvekinja;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement