Crazy

Саксиско цвеќе

May 11th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.45 KB | None | 0 0
  1. //вашиот код ставете го тука
  2. #include <iostream>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. class SaksiskoCvekje{
  7.     protected:
  8.     int cena;
  9.     char ime[11], familija[11];
  10.    
  11.     public:
  12.     SaksiskoCvekje(char *i, int cen, char *fam)
  13.     {
  14.         strcpy(ime,i);
  15.         strcpy(familija,fam);
  16.         cena=cen;
  17.    
  18.     }
  19.    
  20.     int getCena(){return cena;}
  21.     char *getFamilija(){return familija;}
  22.     char *getIme(){return ime;}
  23.    
  24.    
  25.     virtual int presmetajCena()=0;
  26.    
  27.     virtual ~SaksiskoCvekje(){}
  28.    
  29.     bool operator==(SaksiskoCvekje &c)
  30.     {
  31.         if(strcmp(familija,c.familija)==true)
  32.             return true;
  33.         else return false;
  34.    
  35.     }
  36.  
  37.  
  38. };
  39.  
  40. class BezCvet:public SaksiskoCvekje{
  41.     private:
  42.     int starost;
  43.    
  44.     public:
  45.     BezCvet(char *i, int cen, char *fam, int star):SaksiskoCvekje(i,cen,fam)
  46.     {
  47.         starost=star;
  48.    
  49.     }
  50.    
  51.     int presmetajCena(){
  52.         if(starost<10) return cena+20;
  53.          else if(starost<35) return cena+10;
  54.             else return cena;
  55.    
  56.     }
  57.    
  58.    
  59.  
  60. };
  61.  
  62.  
  63. class SoCvet:public SaksiskoCvekje{
  64.     private:
  65.     int rascvetani;
  66.    
  67.     public:
  68.    
  69.     SoCvet(char *i, int cen, char *fam, int rasc):SaksiskoCvekje(i,cen,fam)
  70.     {
  71.    
  72.         rascvetani=rasc;
  73.    
  74.     }
  75.    
  76.     int presmetajCena(){
  77.         return cena+rascvetani;
  78.        
  79.    
  80.     }
  81.    
  82.    
  83.    
  84.  
  85. };
  86.  
  87. void pecatiMaxCena(SaksiskoCvekje **cvekinja, int broj, BezCvet &c)
  88. {
  89.    
  90.     SaksiskoCvekje *max = cvekinja[0];
  91.     for(int i=0;i<broj;i++)
  92.     {
  93.         if(strcmp(cvekinja[i]->getFamilija(), c.getFamilija())==0){
  94.             if(cvekinja[i]->getCena()> max->getCena())
  95.             max=cvekinja[i];
  96.         }
  97.    
  98.    
  99.     }
  100.    
  101.     cout<<max->getIme()<<" "<<max->getFamilija()<<" "<<max->presmetajCena()<<endl;
  102.    
  103.  
  104.  
  105. }
  106.  
  107.  
  108. int main(){
  109.  
  110. char ime[10],familija[10];
  111. int tip,starost,broj,cena;
  112. int n;
  113. cin>>n;
  114. SaksiskoCvekje **cvekinja;
  115. cvekinja=new SaksiskoCvekje*[n];
  116.  
  117. for (int i=0;i<n;i++){
  118.  
  119.     cin>>tip>>ime>>cena>>familija;
  120.     if (tip==1) {
  121.         cin>>starost;
  122.         cvekinja[i]=new BezCvet(ime,cena,familija,starost);
  123.  
  124.     }
  125.     else {
  126.         cin>>broj;
  127.         cvekinja[i]=new SoCvet(ime,cena,familija,broj);
  128.     }
  129.  
  130.  
  131. }
  132.  
  133. BezCvet nov("opuntia",90,"cactus",10);
  134. pecatiMaxCena(cvekinja,n,nov);
  135.  
  136. for (int i=0;i<n;i++) delete cvekinja[i];
  137. delete [] cvekinja;
  138. return 0;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment