class point
{
//私有权限
private:
int m_X;
int m_Y;
//公共权限
public:
void Setm_X(int x)//设置横坐标
{
m_X = x;
}
int Getm_X()//获取横坐标
{
return m_X;
}
void Setm_Y(int y)//设置纵坐标
{
m_Y = y;
}
int Getm_Y()//获取纵坐标
{
return m_Y;
}
};
//圆类
class Circle
{
private:
int m_R;//半径
point m_Center;//圆心
public:
void Setm_R(int r)//设置半径
{
m_R = r;
}
int Getm_R()//获取半径
{
return m_R;
}
//嵌套一个类
void SetCenter(point center)//设置圆心坐标
{
m_Center = center;
}
point GetCenter()//获取圆心坐标
{
return m_Center;
}
};
//判断点和圆的关系
void IsinCircle(Circle& c, point& p)
{
//计算两点之间距离 (平方)
int value =
(c.GetCenter().Getm_X() - p.Getm_X()) * (c.GetCenter().Getm_X() - p.Getm_X()) +
(c.GetCenter().Getm_Y() - p.Getm_Y()) * (c.GetCenter().Getm_Y() - p.Getm_Y());
//与半径的平方比较
if (value == c.Getm_R()* c.Getm_R())
{
cout << "点在圆上" << endl;
}
else if(value>c.Getm_R()* c.Getm_R())
{
cout << "点在圆外" << endl;
}
else
{
cout << "点在圆内" << endl;
}
}
int main()
{
//设置值
Circle c;
c.Setm_R(10);//半径
point center;//圆心坐标
center.Setm_X(10);
center.Setm_Y(0);
c.SetCenter(center);
point p;//点的坐标
p.Setm_X(10);
p.Setm_Y(10);
//比较
IsinCircle(c, p);
system("pause");
return 0;
}
点和圆的关系——C++
最新推荐文章于 2023-11-02 17:35:09 发布