第十三周项目一-点与圆的位置关系
2014-05-25 23:13
169 查看
#include <iostream> #include <cmath> using namespace std; class point { protected: double x,y; public: point(double xx,double yy):x(xx),y(yy){} double getx() { return x; } double gety() { return y; } ~point() { } friend ostream& operator <<(istream &putout,point &c); }; ostream& operator <<(ostream &putout,point &c) { putout<<"("<<c.getx()<<","<<c.gety()<<")"<<endl; return putout; } class circle:public point { private: double r; public: circle(double xx,double yy,double rr): point(xx,yy),r(rr){} ~circle() { } friend ostream& operator <<(ostream &putout,circle &c); friend double locate(point &a,circle &b); }; ostream& operator <<(ostream &putout,circle &c) { putout<<"("<<c.getx()<<","<<c.gety()<<")"<<endl; putout<<"半径"<<c.r<<endl; return putout; } double locate(point &a,circle &b) { double num,d; d=sqrt(pow(a.getx()-b.getx(),2)+pow(a.gety()-b.gety(),2)); if(d>b.r) num=1; else if(d==b.r) num=0; else num=-1; return num; } int main( ) { circle c1(3,2,4),c2(4,5,5); //c2应该大于c1 point p1(1,1),p2(3,-2),p3(7,3); //分别位于c1内、上、外 cout<<"圆c1: "<<c1; cout<<"点p1: "<<p1; cout<<"点p1在圆c1之"<<((locate(p1, c1)>0)?"外":((locate(p1, c1)<0)?"内":"上"))<<endl; cout<<"点p2: "<<p2; cout<<"点p2在圆c1之"<<((locate(p2, c1)>0)?"外":((locate(p2, c1)<0)?"内":"上"))<<endl; cout<<"点p3: "<<p3; cout<<"点p3在圆c1之"<<((locate(p3, c1)>0)?"外":((locate(p3, c1)<0)?"内":"上"))<<endl; return 0; }运行结果:
相关文章推荐
- 第11周-项目4-点、圆的关系-判断点p与圆的位置关系
- 第十二周项目4-1:点,圆的关系-位置比较
- 第十三周 项目1--点和圆的位置关系
- 第十二周项目四 点、圆的关系-(1)判断点与圆的位置关系
- 第十三周项目2-点与圆的位置关系&&圆与圆的大小关系
- 软件项目中工期和人员数目的关系
- 项目管理中 “人”占什么位置
- 收藏:用DE-9IM判断二维空间位置关系
- 利用GraphModels生成Django项目的model关系图
- 判断点与多边形位置关系的算法
- ApplicationContext的几个具体类和Bean配置文件的位置关系
- WTK 2.5.2 如何改变缺省项目位置
- 如何理解需求管理和项目管理的关系
- 关于asp:ScriptManager与Script代码块的位置关系问题
- jboss修改端口的位置和项目部署的位置
- Microsoft .NET Pet Shop 4.0 学习之旅(三) - 项目的引用关系2
- 做技术人员到项目经理的位置上的三年过程中的一些思考.
- 如果把项目开发管理看成是坐公车的过程,记得一定要安排一个逆向的位置
- PMI九大知识领域和五个项目管理过程之间的关系
- weblogic8 .JSP存放位置.Weblogic8部署.默认项目.