第十二周 课后实践:项目四——点,圆的关系
来源:互联网 发布:抱抱软件怎么样 编辑:程序博客网 时间:2024/05/16 07:53
问题及代码:
/** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:Project4.cpp* 作 者:陈旭* 完成日期:2015年6月 4日* 版 本 号:v1.0** 问题描述:点,圆关系* 输入描述:略* 程序输出:略*/#include <iostream>#include <cmath>using namespace std;class Point{protected: double x; double y;public: Point(double a=0,double b=0) { x=a; y=b; }; double distance(const Point &p) const; friend ostream & operator<<(ostream &,const Point &);};double Point::distance(const Point &p) const{ double px=x-p.x; double py=y-p.y; return sqrt(px*px+py*py);}ostream &operator<<(ostream &output,const Point &p){ output<<"["<<p.x<<","<<p.y<<"]"<<endl; return output;}class Circle:public Point{private: double r;public: Circle(double a=0,double b=0,double c=0):Point(a,b),r(c) {}; friend ostream & operator<<(ostream &,const Circle &); friend int locate(const Point &p,const Circle &c);};ostream &operator<<(ostream &output,const Circle &c){ output<<"Center=["<<c.x<<","<<c.y<<"],r="<<c.r<<endl; return output;}int locate(const Point &p,const Circle &c){ const Point cp(c.x,c.y); double d=cp.distance(p); if(abs(d - c.r) < 1e-7) return 0; //相等 else if (d < c.r) return -1; //圆内 else return 1; //圆外}int main( ){Circle c1(3,2,4),c2(4,5,5); //c2应该大于c1Point 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
- 第十二周 课后实践:项目四——点,圆的关系
- 第十二周 课后实践:项目四——点,圆的关系(5)
- 第十二周项目四——点.圆的关系
- 第十二周项目四(1):点、圆的关系
- 第十二周项目四(2):点、圆的关系
- 第十二周项目四 点圆的关系
- 第十二周项目四(3):点、圆的关系
- 第十二周项目四 点与圆的关系
- 第十二周项目四:点、圆的关系(二)
- 2015年第十二周项目四:点,圆的关系
- 2015年第十二周项目四:点,圆的关系
- 第十二周 项目四 点、圆的关系(1)
- 第十二周 项目四 点、圆的关系(2)
- 第十二周 项目四 点、圆的关系(3)
- 第十二周项目四:点,园的关系(三)
- 第十二周实践项目课后————1
- 第十二周实践项目课后————2
- 第十二周实践项目课后————3
- fragment添加menu 以及 fragment中调用onActivityResult
- 25个经典的Spring面试问答
- Android-APP-CPU 耗电测试的例子
- nginx 数组模型
- 开源流媒体服务器搭建(经典资源)
- 第十二周 课后实践:项目四——点,圆的关系
- PHP获取当前目录
- 一张图让你了解足球赛和网络安全的关系!
- Android进步之十三:selector各种状态详解
- PHP实现冒泡排序
- 判断某设备端口通不通
- coding-online 代码生成器 系统原型生成器
- web service创建的详细步骤
- pdf文件怎么修改