设计一个圆形类(Circle),和一个点类(Point),计算点

2020-11-23  本文已影响0人  darkness605
#include <iostream>

#include <stdio.h>

#include <string>

#include <ctime>

using namespace std;

using namespace std;

class Point

{

public:

          void setx(int x) {

          m_x = x;

}

int getx() {

         return m_x;

}

void sety(int y) {

       m_y = y;

}

int gety() {

      return m_y;

}

private:

           int m_x;

           int m_y;
 
};

class Circle

{

public:

         //设置圆心

         void setCenter(Point center) {

         m_Center = center;

}

//设置半径

        void setR(int r) {

        m_R = r;

}

int getR() {

       return m_R;

}

Point getcenter() {

      return m_Center;

}

private:

      int m_R;

      Point m_Center;

};

void isInCircle(Circle &c, Point &p)

{

        int distance =

        (c.getcenter().getx() - p.getx())*(c.getcenter().getx() - p.getx()) +

        (c.getcenter().gety() - p.gety())*(c.getcenter().gety() - p.gety());

        int rDistance = c.getR()*c.getR();

       if (distance == rDistance)
      {
      cout << "点在圆上" << endl;
      }
      else if (distance > rDistance)
     {
      cout << "点在圆外" << endl;
     }
     else
     {
     cout << "点在圆内" << endl;
     }
}

int main() {

        Circle c;

        c.setR(10);

        Point center;

        center.setx(10);

        center.sety(0);

        c.setCenter(center);

        Point p;
  
        p.setx(10);

        p.sety(10);

        isInCircle(c, p);

        system("pause");

        return 0;

}
上一篇下一篇

猜你喜欢

热点阅读