美文网首页
设计一个圆形类(Circle),和一个点类(Point),计算点

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

作者: darkness605 | 来源:发表于2020-11-23 21:45 被阅读0次
    #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;
    
    }
    

    相关文章

      网友评论

          本文标题:设计一个圆形类(Circle),和一个点类(Point),计算点

          本文链接:https://www.haomeiwen.com/subject/czbwiktx.html