Advertisement
Guest User

ciclaci

a guest
Aug 27th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.56 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. class SaksiskoCvekje
  5. {
  6.     protected:
  7.     char ime[10];
  8.     int cena;
  9.     char familija[10];
  10.     public:
  11.     SaksiskoCvekje(const char *i="",int c=0 , const char *f="" )
  12.     {
  13.         strcpy(ime,i);
  14.         cena=c;
  15.         strcpy(familija,f);
  16.     }
  17.     virtual int presmetajCena()
  18.     {
  19.         return cena;
  20.     }
  21.     bool operator == (SaksiskoCvekje &cv)
  22.     {
  23.         return familija==cv.familija;
  24.     }
  25.     char *getF()
  26.     {
  27.         return familija;
  28.     }
  29.    char *getI()
  30.     {
  31.         return ime;
  32.     }
  33.     friend ostream& operator<<(ostream &x , SaksiskoCvekje &t)
  34.     {
  35.         x<<t.ime<<" "<<t.familija<<" "<<t.presmetajCena();
  36.     }
  37.    
  38.    
  39. };
  40. class BezCvet:public SaksiskoCvekje
  41. {
  42.     protected:
  43.     int den;
  44.     public:
  45.     BezCvet(const char *i="",int c=0 , const char *f="" , int d=0):SaksiskoCvekje(i,c,f)
  46.     {
  47.         den=d;
  48.     }
  49.     int presmetajCena()
  50.     {
  51.         if(den<10)
  52.             return SaksiskoCvekje::presmetajCena()*1.2;
  53.         else if(den<35)
  54.             return SaksiskoCvekje::presmetajCena()*1.1;
  55.         else
  56.             return SaksiskoCvekje::presmetajCena();
  57.     }
  58. };
  59. class SoCvet:public SaksiskoCvekje
  60. {
  61.     protected:
  62.     int cvetovi;
  63.     public:
  64.     SoCvet(const char *i="",int c=0 , const char *f="" , int cvetovi=0):SaksiskoCvekje(i,c,f)
  65.     {
  66.         this->cvetovi=cvetovi;
  67.     }
  68.     int presmetajCena()
  69.     {
  70.         return SaksiskoCvekje::presmetajCena()*cvetovi;
  71.     }
  72. };
  73. void pecatiMaxCena(SaksiskoCvekje **cvekinja , int n  , SaksiskoCvekje &c)
  74. {
  75.     float max=0;
  76.     int index;
  77.     for(int i=0;i<n;i++)
  78.     {
  79.         if(*cvekinja[i]==c)
  80.          
  81.         {
  82.            if(max<cvekinja[i]->presmetajCena())
  83.            {
  84.                max=cvekinja[i]->presmetajCena();
  85.               index = i;
  86.            }
  87.         }
  88.     }
  89.     cout<<cvekinja[index]->getI()<<" "<<cvekinja[index]->getF()<<" "<<cvekinja[index]->presmetajCena()<<endl;
  90.    
  91. }
  92.  
  93. int main(){
  94.  
  95. char ime[10],familija[10];
  96. int tip,starost,broj,cena;
  97. int n;
  98. cin>>n;
  99. SaksiskoCvekje **cvekinja;
  100. cvekinja=new SaksiskoCvekje*[n];
  101.  
  102. for (int i=0;i<n;i++){
  103.  
  104.     cin>>tip>>ime>>cena>>familija;
  105.     if (tip==1) {
  106.         cin>>starost;
  107.         cvekinja[i]=new BezCvet(ime,cena,familija,starost);
  108.  
  109.     }
  110.     else {
  111.         cin>>broj;
  112.         cvekinja[i]=new SoCvet(ime,cena,familija,broj);
  113.     }
  114.  
  115.  
  116. }
  117.  
  118. BezCvet nov("opuntia",90,"cactus",10);
  119. pecatiMaxCena(cvekinja,n,nov);
  120.  
  121. for (int i=0;i<n;i++) delete cvekinja[i];
  122. delete [] cvekinja;
  123. return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement