13周 工程1 点,全面关系
2015-07-25 11:09
337 查看
#include <iostream> #include <cmath> using namespace std; class Point { public: Point(double a,double b):x(a),y(b) {} double getx() { return x; } double gety() { return y; } friend ostream&operator << (ostream&,Point&); protected: double x,y; }; ostream&operator << (ostream &output,Point &p) { output<<"("<<p.getx()<<","<<p.gety()<<")"<<endl; return output; } class Circle:public Point { public: Circle(double a,double b,double c):Point(a,b),r(c) {} double getr() { return r; } friend ostream&operator << (ostream&,Circle&); friend double locate(Circle&,Point&); protected: double r; }; ostream&operator << (ostream &output,Circle &c) { output<<"("<<c.getx()<<","<<c.gety()<<")"<<" "; output<<"r="<<c.getr()<<endl; return output; } double locate(Point &po,Circle &ci) { double d,num; d=sqrt(pow((ci.getx()-po.getx()),2)+pow((ci.gety()-po.gety()),2)); if(d>ci.getr()) num=1; else if(d==ci.getr()) 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; }
情绪:我没吃饭了没!
相关文章推荐
- 管理经验分享会议记录--【管理经验】
- 二分匹配Hopcroft-Karp算法
- html页面高亮关键词
- ags模版与vs
- 如何在windows上把你的项目提交到github(转载)
- 专业网站和数据下载主页收藏
- Java IO学习【8】利用缓冲区进行文件的复制
- SQl2005备份时报错:无法暂停目录以进行备份,备份已中止
- 【转】windows下安装和调用curl的方法
- iMovie导出的mp4在windows下播放一卡一卡的怎么办
- HDU 1045 Fire Net
- Mysqli :multi->query
- 安装sql2000时提示“以前的某个程序安装已经在计算机上创建挂起的文件操作”的解决办法
- android 网络异步加载数据进度条
- Area of Interest
- #1127 : 二分图三·二分图最小点覆盖和最大独立集
- java常用API之查找字符串出现次数
- shell语法简介
- HDU 4772 Zhuge Liang's Password (简单模拟题)
- gsp页面标签