第十三周项目1--点、圆的关系
来源:互联网 发布:松江的主机怎么编程 编辑:程序博客网 时间:2024/05/18 20:06
/*Copyright(C) 烟台大学计算机与控制工程学院作者:刘慧艳完成日期:2014.05.24版本号:V1.1项目名:点、圆的关系问题描述:(1)先建立一个Point(点)类,包含数据成员x,y(坐标点);(2)以Point为基类,派生出一个Circle(圆)类, 增加数据成员(半径),基类的成员表示圆心;(3)编写上述两类中的构造、析构函数及必要运算符重载函数 (本项目主要是输入输出);(4)定义友元函数int locate,判断点p与圆的位置关系 (返回值<0圆内,==0圆上,>0 圆外);*/#include <iostream>#include<Cmath>using namespace std;class Point{ public : Point(double a=0,double b=0):x(a),y(b){}//构造函数 double distance(const Point &p)const;//计算距离 friend ostream & operator <<(ostream &,const Point &);//重载运算符“<<" protected : double x,y;};double Point ::distance (const Point &p)const//求距离{ double dx=x-p.x; double dy=y-p.y; return sqrt(dx*dx+dy*dy);}ostream & operator<<(ostream &output,const Point &p){ output<<"["<<p.x<<","<<p.y<<"]"<<endl; return output;}class Circle:public Point//circle是point类的公用派生类{ public: Circle(double a=0,double b=0,double r=0):Point(a,b),radius(r){};//构造函数 friend ostream &operator<<(ostream &,const Circle &);//重载运算符“<<” friend int locate(const Point &p, const Circle &c); //判断点p在圆上、圆内或圆外,返回值:<0圆内,==0圆上,>0 圆外protected: double radius;};ostream &operator<<(ostream &output,const Circle &c){ output<<"Center=["<<c.x<<", "<<c.y<<"], r="<<c.radius<<endl; return output;}//判断点p在圆内、圆c内或圆c外int locate(const Point &p, const Circle &c){ const Point cp(c.x,c.y); //圆心 double d = cp.distance(p); if (abs(d - c.radius) < 1e-7) return 0; //相等 else if (d < c.radius) return -1; //圆内 else return 1; //圆外}int main( ){ Circle c1(3,2,4); 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;}
0 0
- 第十三周 项目1--点和圆的位置关系
- 第十三周项目1-点与圆的关系
- 第十三周项目1--点、圆的关系
- 第十三周 项目一 点和圆的关系
- 第十三周项目一-点与圆的位置关系
- 第十三周 项目一 点圆的关系
- 第十三周 项目四--点、圆的关系(5)
- 第十三周 项目四--点、圆的关系(6)
- 第十三周 项目四--点、圆的关系(1~4)
- 第十三周项目2-点与圆的位置关系&&圆与圆的大小关系
- 第十三周项目一点圆的关系
- 第十三周 项目2 圆的关系
- 第十三周项目一点、圆的关系
- 第十三周上机实践项目——点、圆的关系
- 第十三周(项目一)——点、圆的关系。
- 第十三周 项目1 确定点在圆上的位置(补发)
- 13【项目1 - 点、圆的关系】
- 第13周项目1-点圆的关系
- TabHost+ViewPager实现 点击选项卡和滑动界面都可以切换页面
- 面试智力题
- 指针文件fp的使用
- 用PDB库调试Python程序
- 不会读的字用拼音怎么打?
- 第十三周项目1--点、圆的关系
- 陌生是我们的载体
- Spring,hibernate,struts的面试笔试题(含答案)
- Spring管理事务方式
- Android自动发送短信
- Matlab动画模拟分子布朗运动的示例
- Hibernate学习笔记
- Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu
- 关于ext3.2.1异步验证有关问题