Kocyk

klasy punkty

Oct 18th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.82 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. class punkt
  5. {
  6.  
  7.     float x,y;
  8.  public:
  9.     punkt() {
  10.         this->x = 0;
  11.         this->y = 0;
  12.     }
  13.     punkt(float x_1,float y_1)
  14.     {
  15.         x=x_1;
  16.         y=y_1;
  17.     }
  18.     punkt(const punkt &p)
  19.      {
  20.      x = p.x;
  21.       y= p.y;
  22.      }
  23.    void wektor()
  24.    {
  25.       cout<<"wspolrzedna x: "<<x<<" wspolrzedna y: "<< y<<endl;
  26.    }
  27.    void odleglosc()
  28.    {
  29.        float odg;
  30.        odg=sqrt(pow(x,2)+pow(y,2));
  31.        cout<<"odleglosc od srodka ukladu wspolrzednych wynosi "<<odg<<endl;
  32.  
  33.    }
  34.    void osx()
  35.    {
  36.     if(y==0)cout<<"punkt lezy na osi OX"<<endl;
  37.     else cout<<"punkt NIE lezy na osi OX"<<endl;
  38.  
  39.    }
  40.    void osy()
  41.    {
  42.        if(x==0)cout<<"punkt lezy na osi OY"<<endl;
  43.        else cout<<"punkt NIE lezy na osi OY"<<endl;
  44.    }
  45.    int cwiartka()
  46.    {
  47.        if(x==0 || y==0) return 0;
  48.        else if(x>0 && y>0) return 1;
  49.        else if(x<0 && y>0) return 2;
  50.        else if(x<0 && y<0) return 3;
  51.        else if(x>0 && y<0) return 4;
  52.        else return 404;
  53.    }
  54.    float zwrocx()
  55.    {
  56.        return x;
  57.    }
  58.    float zwrocy()
  59.    {
  60.        return y;
  61.    }
  62.    void odleglosc2(float o1,float o2,float o3,float o4)
  63.    {
  64.        float odle;
  65.        odle=sqrt(pow(o1-o2,2)+pow(o3-o4,2));
  66.                cout<<odle<<endl;
  67.    }
  68.    float policzOdleglosc(punkt p1, punkt p2)
  69.  {
  70.     float x1 = p1.zwrocx();
  71.     float y1 = p1.zwrocy();
  72.     float x2 = p2.zwrocx();
  73.     float y2 = p2.zwrocy();
  74.     float odleglosc = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
  75.     return odleglosc;
  76. }
  77.    
  78. };
  79.  
  80.  
  81. class trojkat {
  82. private:
  83.     punkt p1;
  84.     punkt p2;
  85.     punkt p3;
  86.  
  87. public:
  88.     trojkat(punkt p1, punkt p2, punkt p3)
  89.     {
  90.         this->p1 = p1;
  91.         this->p2 = p2;
  92.         this->p3 = p3;
  93.     }
  94.  
  95.  
  96.     float policzBokA() {
  97.         return p1.policzOdleglosc(p2);
  98.     }
  99.  
  100.     float policzBokB() {
  101.         return p2.policzOdleglosc(p3);
  102.     }
  103.  
  104.     float policzBokC() {
  105.         return p3.policzOdleglosc(p1);
  106.     }
  107.  
  108.     float pole() {
  109.         float a = policzBokA();
  110.         float b = policzBokB();
  111.         float c = policzBokC();
  112.         float p = (a + b + c) / 2;
  113.  
  114.         return sqrt(p * (p - a) * (p - b) * (p - c));
  115.     }
  116.  
  117. };
  118.  
  119. int main()
  120. {
  121.     int wybor,cwiartkaa;
  122.     punkt a(20,30);
  123.     punkt b(20,0);
  124.     punkt c(0,3);
  125.     punkt d(2,5);
  126.     float o1=b.zwrocx();
  127.     float o2=b.zwrocy();
  128.     float o3=d.zwrocx();
  129.     float o4=d.zwrocy();
  130.     punkt a1(0,0);
  131.     punkt b1(3, 0);
  132.     punkt c1(0, 4);
  133.      trojkat t1(a1, b1, c1);
  134.     do{
  135.                       cout << "Co chcesz zrobic?" << endl;
  136.                       cout << "1. Wyswietlic wektor " << endl;
  137.                       cout << "2. Wyswietlic odlegosc" << endl;
  138.                       cout << "3. Czy lezy na OX" << endl;
  139.                       cout << "4. Czy lezy na OY" << endl;
  140.                       cout << "5. Na ktorej cwiartce lezy" <<endl;
  141.                       cout << "6. Odleglosc miedzy dwoma punktami"<<endl;
  142.                       cout << "7. Pole trojkata"<<endl;
  143.                       cout << "8. exit " <<endl;
  144.                       cin >> wybor;
  145.                       switch(wybor)
  146.                       {
  147.                         case 1:
  148.                           a.wektor();
  149.                           break;
  150.                         case 2:
  151.                           a.odleglosc();
  152.                           break;
  153.                         case 3:
  154.                           a.osx();
  155.                           break;
  156.                         case 4:
  157.                           a.osy();
  158.                           break;
  159.                         case 5:
  160.  
  161.                             cwiartkaa =  a.cwiartka();
  162.                             cout<<cwiartkaa;
  163.                           break;
  164.                         case 6:
  165.                            c.odleglosc2(o1,o2,o3,o4);
  166.                           break;
  167.                         case 7:
  168.                                                        
  169.                            cout << "Pole trojkata: " << t1.pole() << endl;
  170.                             break;
  171.                         case 8:
  172.                             return 0;
  173.        
  174.                         default:
  175.                           cout<<"blad"<<endl;
  176.                       }
  177.  
  178.  
  179.          }while(wybor!=7);
  180.         return 0;
  181. }
Add Comment
Please, Sign In to add comment