13【项目2 - 圆的比较】
来源:互联网 发布:mysql 查看当前连接数 编辑:程序博客网 时间:2024/06/06 00:30
/**Corpyright (c)2013,烟台大学计算机学院*All right reseved.*作者:张梦佳*完成日期:2014年5月20日*版本号:v1.0*输入描述:*问题描述:*程序输出:*问题分析:*算法设计:*/#include <iostream>#include <cmath>using namespace std;class Point{public: Point(double a=0,double b=0):x(a),y(b){} double getx() { return x; } double gety() { return y; } friend ostream& operator<<(ostream&output,Point&s);protected: double x; double y;};ostream& operator<<(ostream&output,Point&s){ output<<"("<<s.getx()<<","<<s.gety()<<")"<<endl; return output;}class Circle:public Point{public: Circle(double a=0,double b=0,double c=0):Point(a,b),r(c){} double area() { return (3.14*r*r); } friend double locate(Point&s,Point&s1); friend ostream& operator<<(ostream&output,Circle&s); double getr() { return r; } bool operator>(Circle&s); bool operator<=(Circle&s); bool operator<(Circle&s); bool operator>=(Circle&s); bool operator==(Circle&s); bool operator!=(Circle&s);private: double r;};bool Circle::operator>(Circle&s){ if(area()>s.area()) return true; else return false;}bool Circle::operator<=(Circle&s){ if(!(area()>s.area())) return true; else return false;}bool Circle::operator<(Circle&s){ if(area()<s.area()) return true; else return false;}bool Circle::operator==(Circle&s){ if(area()==s.area()) return true; else return false;}bool Circle::operator!=(Circle&s){ if(area()!=s.area()) return true; else return false;}bool Circle::operator>=(Circle&s){ if(!(area()>s.area())) return true; else return false;}ostream& operator<<(ostream&output,Circle&s){ output<<"("<<s.getx()<<","<<s.gety()<<","<<s.r<<")"; return output;}double locate(Point&s,Circle&s1){ double num,num1; num=sqrt((s1.getx()-s.getx())*(s1.getx()-s.getx())+(s1.gety()-s.gety())*(s1.gety()-s.gety())); num1=num-s1.getr(); return num1;}int main( ){Circle c1(3,2,4),c2(4,5,5),c3(3,2,4); //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;if(c1>c2)cout<<"c1"<<c1<<">"<<"c2"<<c2;elsecout<<"c1"<<c1<<"<"<<"c2"<<c2;cout<<endl;if(c1==c3)cout<<"c1"<<c1<<"="<<"c3"<<c3;elsecout<<"c1"<<c1<<"!="<<"c3"<<c3;cout<<endl;return 0;}
感悟:
运算符的重载又忘了!啥也不说,往前翻吧!
0 0
- 13【项目2 - 圆的比较】
- 13周 项目2 圆的比较
- C++第13周(春)项目2 - 圆的比较
- 第13周-项目2-圆的比较
- 第二学期第13周项目2--圆的比较
- 第13周(春)项目2 - 圆的比较
- 第十三周项目2--圆的比较
- 第十三周 项目1--圆的比较
- 第十三周项目二圆的比较
- 第十三周项目二圆的比较
- 项目管理工具的比较
- 几个项目管理软件的比较
- 几个项目管理软件的比较
- 第十二周项目4-2:点,圆的关系-面积比较
- 第十三周上机实践项目——圆的比较
- 第十三周(项目二)——圆的比较。
- 第十二周项目四 点、圆的关系-(2)重载关系运算符比较两个圆的面积
- 国外比较有名的开源项目
- gdb中看内存(x命令)
- 开发者必看:2014年网页设计的10大发展趋势
- Qt5.2.1交叉编译,带tslib插件
- 学习J2EE所看的书籍
- Android技术大牛们,跟定你了
- 13【项目2 - 圆的比较】
- 杭电ACM---人见人爱A+B
- 朴智妍 我的女神
- ubuntu14.04下nessus的安装
- 最严格的身份证校验(Java版)
- HDOJ 1512 Monkey King -- 左偏树
- 看门狗超时前在内核打印信息
- 接口常量值可被修改
- win7旗舰版64位占了20多G的内存的清理方法