Геометрични фигури

Да се проектира йерархия от класове, представляващи геометрични фигури – кръг, правоъгълник, квадрат, обикновен триъгълник, правоъгълен, равнобедрен и равностранен триъгълник. Всяка от фигурите има и цвят (червен, зелен или син), както и методи за въвеждане на данните им (цвят и размер) и за извеждане. Извеждането да се реализира така, че да дава възможно най-пълна информация за всяка от фигурите. Да се демонстрира обмяна на данни между фигурите чрез присвояване.

Публикувано в 12а. Постоянна връзка.

2 Responses to Геометрични фигури

  1. kr1stiqn1995 каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    const char Cherven = 'R';
    const char Sin = 'B';
    const char Zelen = 'G';
    
    class Figura
    {
          public: 
          char Cvqt;
          double Lice();
          double Obikolka();
          void Vhod();
          void Pechat();
    };
    
    double Figura::Lice()
    {
        return 0;
    }   
    
    double Figura::Obikolka()
    {
           return 0;
    }
    
    void Figura::Vhod()
    {
         cout<<"Vavedete cvqt: ";
         cin>>Cvqt;
    }
    
    void Figura::Pechat()
    {
         cout<<"Figurata ima ";
         if (Cvqt==Cherven)
         cout<<"Cherven cvqt"<<endl;
         else if (Cvqt==Sin)
         cout<<"Sin cvqt"<<endl;
         else if (Cvqt==Zelen)
         cout<<"Zelen cvqt"<<endl;
         else cout<<"drug cvqt"<<endl;
    }
    
    class Kvadrat: public Figura
    {
          public:
          int a;
          double Lice();
          double Obikolka();
          void Vhod();
          void Pechat();
    };     
    
    double Kvadrat::Lice()
    {
       return a*a;
    }
    
    double Kvadrat::Obikolka()
    {
       return 4*a;
    }
     
    void Kvadrat::Vhod()
    { 
         Figura::Vhod();
         cout<<"Vavedete strana: ";
         cin>>a;  
    }
    
    void Kvadrat::Pechat()
    {
         cout<<"Tova e kvadrat sas strana "<<a<<endl;
         cout<<"Liceto e "<<Lice()<<endl;
         cout<<"Obikolkata e "<<Obikolka()<<endl;
         Figura::Pechat();
    }       
    
    class Pravougulnik: public Kvadrat
    {
          public:
          int b;
          double Lice();
          double Obikolka();
          void Vhod();
          void Pechat();
    };     
    
    double Pravougulnik::Lice()
    {
       return a*b;
    }
    
    double Pravougulnik::Obikolka()
    {
       return ((2*a)+(2*b));
    }
     
    void Pravougulnik::Vhod()
    { 
         Figura::Vhod();
         cout<<"Vavedete strani: ";
         cin>>a>>b;  
    }
    
    void Pravougulnik::Pechat()
    {
         cout<<"Tova e pravougulnik sas strani "<<a<<" i "<<b<<endl;
         cout<<"Liceto e "<<Lice()<<endl;
         cout<<"Obikolkata e "<<Obikolka()<<endl;
         Figura::Pechat();
    }       
    
    
    int main(int argc, char *argv[])
    {
        cout<<"Danni za figura:\n";
        Figura F;
        F.Vhod();
        F.Pechat();
        
        cout<<"Danni za kvadrat:\n";
        Kvadrat K;
        K.Vhod();
        K.Pechat();
        
        cout<<"Danni za pravougulnik:\n";
        Pravougulnik P;
        P.Vhod();
        P.Pechat();
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
  2. dreanor каза:
    #include <cstdlib>
    #include <iostream>
    #include <math.h>
    
    using namespace std;
    
    const float pi=3.1415;
    
    class Figura
    {
      public:
        char cviat[20];
        Figura();
        Figura(char* cviat);
        Figura(const Figura &f);
        void Vhod();
        void Izvejdane() const;
      };
      
      Figura::Figura()
      {
        strcpy(cviat, "nqma!");
      }
      
      Figura::Figura(char* cviat)
      {
        strcpy(this->cviat, cviat);
      }
      
      Figura::Figura(const Figura &f)
      {
        strcpy(cviat, f.cviat);
      }
      
      void Figura::Vhod()
      {
        cout<<"Vavedete cviat: ";
        cin>>cviat;
      }
      void Figura::Izvejdane() const
      {
        cout<<"Cvetut e: "<<cviat<<"\n";
      }
      
      class Chetiriugulnik:public Figura
        { 
          public:
          float a,b;
          Chetiriugulnik();
          void Vhod();
          void Izvejdane();
          float Lice();
          float Obikolka();
        };
        
        Chetiriugulnik::Chetiriugulnik()
        {
          Figura::Figura();
          a=b=1;
        }
        
        void Chetiriugulnik::Vhod()
        {
          Figura::Vhod();
          cout<<"Vavedete stranite a i b: ";
          cin>>a>>b;
        }
        
        float Chetiriugulnik::Lice()
        {
          return (a*b);
        }
          
        float Chetiriugulnik::Obikolka()
        {
          return (2*a+2*b);
        }
        
        void Chetiriugulnik::Izvejdane()
        {
          Figura::Izvejdane();
          cout<<"Liceto e: "<<Lice()<<endl;
          cout<<"Obikolkata e: "<<Obikolka()<<endl;
        }
        
        class Krug:public Figura
        {
          public:
            float r;
            Krug();
            void Vhod();
            void Izvejdane();
            float Lice();
            float Obikolka();
          
        };
        
        Krug::Krug()
        {
          Figura::Figura();
          r=1;
        }
        
        void Krug::Vhod()
        {
          Figura::Vhod();
          cout<<"Vavedete radius: ";
          cin>>r;
        }
        
        float Krug::Lice()
        {
          return (2*pi*r*r);
        }
          
        float Krug::Obikolka()
        {
          return (2*pi*r);
        }
        
        void Krug::Izvejdane()
        {
          Figura::Izvejdane();
          cout<<"Liceto e: "<<Lice()<<endl;
          cout<<"Obikolkata e: "<<Obikolka()<<endl;
        }
        
        class Triugulnik:public Figura
        { 
          public:
          float a,b,c;
          Triugulnik();
          void Vhod();
          void Izvejdane();
          float Lice();
          float Obikolka();
        };
        
        Triugulnik::Triugulnik()
        {
          Figura::Figura();
          a=b=c=1;
        }
        
        void Triugulnik::Vhod()
        {
          Figura::Vhod();
          cout<<"Vavedete stranite a, b i c: ";
          cin>>a>>b>>c;
        }
        
        float Triugulnik::Lice()
        {
          float p=(a+b+c)/2;
          return (sqrt(p*(p-a)*(p-b)*(p-c)));
        }
          
        float Triugulnik::Obikolka()
        {
          return (a+b+c);
        }
        
        void Triugulnik::Izvejdane()
        {
          Figura::Izvejdane();
          cout<<"Liceto e: "<<Lice()<<endl;
          cout<<"Obikolkata e: "<<Obikolka()<<endl;
        }
    
    
    
    
    
    
    
    int main(int argc, char *argv[])
    {
        Triugulnik primer1;
        primer1.Vhod();
        primer1.Izvejdane();
        cout<<endl;
        
        Chetiriugulnik primer2;
        primer2.Vhod();
        primer2.Izvejdane();
        cout<<endl;
        
        Krug primer3;
        primer3.Vhod();
        primer3.Izvejdane();
        
        Figura primer4(primer1);
        primer4.Izvejdane();
        
      
      
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

Вашият коментар