当前位置:首页 » 《随便一记》 » 正文

【黑马程序员】点圆位置判断 类 案例 完全自写_csdn_small_white的博客

0 人参与  2022年03月15日 12:51  分类 : 《随便一记》  评论

点击全文阅读


#include<iostream>
using namespace std;

class Point
{
private:
    int m_X;
    int m_Y;

public:
    void setX(int x)
    {
        m_X = x;
    }
    void setY(int y)
    {
        m_Y = y;
    }
    int getX()
    {
        return m_X;
    }
    int getY()
    {
        return m_Y;
    }
};

class Circle
{
private:
    int m_R = 0;
    Point Center;

public:
    void setR(int r)
    {
        m_R = r;
    }

    int getR()
    {
        return m_R;
    }

    void setCenter(int x, int y)
    {
        Center.setX(x);
        Center.setY(y);
    }

    void judgement(Point& P)
    {
        /*cout << P.getX() << endl;
        cout << getCenterX() << endl;
        cout << P.getY() << endl;
        cout << getCenterY() << endl;*/

        int distance = (P.getX() - Center.getX()) * (P.getX() - Center.getX()) 
                     + (P.getY() - Center.getY()) * (P.getY() - Center.getY());

        //cout << distance << endl;
        if (distance < (getR() * getR()))
        {
            cout << "点在圆内" << endl;
        }
        else if (distance == (getR() * getR()))
        {
            cout << "点在圆上" << endl;
        }
        else
        {
            cout << "点在圆外" << endl;
        }
    }
};


int main()
{
    Point P;
    P.setX(3);
    //cout << P.getX() << endl;
    P.setY(3);
    //cout << P.getY() << endl;
    
    
    Circle C;
    C.setCenter(0, 0);
    C.setR(5);
    //cout << C.getCenterX() << endl;
    C.judgement(P);


    system("pause");
    return 0;
}


点击全文阅读


本文链接:http://zhangshiyu.com/post/36221.html

m_Y  public  int  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1