点与圆的关系

#include<iostream>
#include<string>
using namespace std;
class point
{
private:
int x,y;
public:
void setx(int a)
{
x=a;
}
int getx()
{
return x;
}
void sety(int b)
{
y=b;
}
int gety()
{
return y;
}
};
class circle
{
private:
int r;
point center;
public:
void setr(int c)
{
r=c;
}
int getr()
{
return r;
}
void setcenter(point center1)
{
center=center1;
}
point getcenter()
{
return center;
}
};
void isin(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);
isin(c,p);
}

posted @   八千里路云和月色  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示