做国外百科知识网站,seo推广软件下载,重复建设政务网站,php网站开发前景练习案例#xff1a;点和圆的关系
设计一个圆形类#xff08;Circle#xff09;#xff0c;和一个点类#xff08;Point#xff09;#xff0c;计算点和圆的关系。 思路#xff1a;
1#xff09;创建点类point.h和point.cpp
2#xff09;创建圆类circle.h和circle…练习案例点和圆的关系
设计一个圆形类Circle和一个点类Point计算点和圆的关系。 思路
1创建点类point.h和point.cpp
2创建圆类circle.h和circle.cpp
3点和圆的关系判断void isIncircle(Circle c,Point p)
点到圆心的距离 圆心 点在圆上
点到圆心的距离 圆心 点在圆内
点到圆心的距离 圆心 点在圆外 示例代码 我们将点类用point.cpp和point.h实现。将圆类用circle.cpp和circle.h实现。 点类头文件point.h #pragma once
#includeiostream
using namespace std;
class Point
{
public://设置x坐标void setX(int x);//读取x坐标int getX();//设置y坐标void setY(int y);//读取y坐标int getY();private:int m_x;int m_y;
};点类代码实现point.c #includepoint.h//设置x坐标
void Point::setX(int x)
{m_x x;
}
//读取x坐标
int Point::getX()
{return m_x;
}
//设置y坐标
void Point::setY(int y)
{m_y y;
}
//读取y坐标
int Point::getY()
{return m_y;
}圆类头文件circle.h #pragma once
#includeiostream
#includepoint.h
using namespace std;class Circle
{
public://设置半径void setR(int r);//读取半径int getR();//设置圆心void setCenter(Point center);//获取圆心Point getCenter();private:int m_R; //半径//在类中可以让另一个类作为本类中的成员Point m_center; //圆心};圆类代码实现circle.cpp #includecircle.h//设置半径
void Circle::setR(int r)
{m_R r;
}
//读取半径
int Circle::getR()
{return m_R;
}
//设置圆心
void Circle::setCenter(Point center)
{m_center center;
}
//获取圆心
Point Circle::getCenter()
{return m_center;
}主文件点和圆的关系.cpp #includeiostream
#includecircle.h
#includepoint.h
using namespace std;
//点和圆的关系案例//判断点和圆的关系
void isIncircle(Circle c,Point p)
{//计算两点距离的平方int dist (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 (dist rDistance){cout 点在圆上 endl;}else if (dist rDistance){cout 点在圆外 endl;}else{cout 点在圆内 endl;}
}
int main()
{//创建圆Circle c1;c1.setR(10);Point center;center.setX(10);center.setY(0);c1.setCenter(center);//创建点Point p1;p1.setX(10);p1.setY(9);Point p2;p2.setX(10);p2.setY(10);Point p3;p3.setX(10);p3.setY(11);//判断关系isIncircle(c1, p1);isIncircle(c1, p2);isIncircle(c1, p3);system(pause);return 0;
}运行结果 我们设置了一个圆圆心为10,0半径为10。 我们设置了三个点10,910,1010,11。
点在圆内
点在圆上
点在圆外