第13周项目2
来源:互联网 发布:apache和nginx共存 编辑:程序博客网 时间:2024/05/05 16:14
/**程序的版权和版本声明部分:*Copyright(c)2014,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:张凯*完成日期:2014 年 5 月 20 日*版本号:v1.0*对任务及求解方法的描述部分:*输入描述: -*问题描述:*程序输出:圆的比较*问题分析:*算法设计:*/#include <iostream>#include <cmath>using namespace std;class Point{ protected: double x; double y; public: Point(int xx,int yy):x(xx),y(yy){} ~Point(){} double get_x() { return x; } double get_y() { return y; } friend ostream & operator << (ostream &out,Point &p); void output() { cout<<"("<<x<<","<<y<<")"<<endl; }};class Circle:public Point{ protected: double r; public: Circle(int xx,int yy,double rr):Point(xx,yy),r(rr){} ~Circle(){} double get_r() { return r; } friend double locate(Point,Circle ); friend ostream & operator << (ostream &out,Circle &c); double area(); bool operator >(Circle &); bool operator <(Circle &); bool operator >=(Circle &); bool operator <=(Circle &); bool operator ==(Circle &); bool operator !=(Circle &);};ostream & operator << (ostream &out,Point &p){ out<<"("<<p.get_x()<<","<<p.get_y()<<")"<<endl; return out;}ostream & operator << (ostream &out,Circle &c){ out<<"("<<c.get_x()<<","<<c.get_y()<<")"<<" "<<"r="<<c.get_r()<<endl; return out;}double locate(Point p,Circle c ){ double R,result; R=sqrt(pow(p.get_x()-c.get_x(),2)+pow(p.get_y()-c.get_y(),2)); if(R<c.get_r()) result=-1; else if(R==c.get_r()) result=0; else result=1; return result;} double Circle::area() { return 3.14*pow(get_r(),2); } bool Circle::operator>(Circle &c){ if(area()>c.area()) { return true; } else { return false; }}bool Circle::operator<(Circle &c){ if(area()<c.area()) { return true; } else { return false; }}bool Circle::operator>=(Circle &c){ if(!(area()<c.area())) { return true; } else { return false; }}bool Circle::operator<=(Circle &c){ if(!(area()>c.area())) { return true; } else { return false; }}bool Circle::operator==(Circle &c){ if(area()==c.area()) { return true; } else { return false; }}bool Circle::operator!=(Circle &c){ if(area()!=c.area()) { return true; } else { return false; }}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; cout<<"圆c1的面积:"<<c1.area()<<endl; cout<<"圆c2的面积:"<<c2.area()<<endl; if(c1>c2) { cout<<"c1>c2"<<endl; } if(c1<c2) { cout<<"c1<c2"<<endl; } if(c1>=c2) { cout<<"c1>=c2"<<endl; } if(c1<=c2) { cout<<"c1<=c2"<<endl; } if(c1==c2) { cout<<"c1==c2"<<endl; } if(c1!=c2) { cout<<"c1!=c2"<<endl; } return 0;}
0 0
- 第13 周-项目2
- 第13周项目2
- 第13周项目2
- 第13周【项目2
- 第13周项目
- 第13周项目2 (2)
- 第13周项目2-求助
- 第13周项目1(2)
- 第13周项目1-(2)
- 第13周项目1-2
- 第13周项目2-成绩处理
- 第13周项目2成绩处理
- 第13周项目2-成绩处理
- 第13周 项目2-成绩处理
- 第13周项目2-成绩处理
- 第13周项目2成绩处理
- 第13周项目2-成绩处理
- 第13周项目2-成绩处理
- 【面向代码】学习 Deep Learning(二)Deep Belief Nets(DBNs)
- Linux下的lds链接脚本
- Libgdx 1.0.0快速创建工程
- Iterate over All the matches
- AJ训练(二叉树递归分冶)
- 第13周项目2
- 关于安卓开发工具翻译
- Android 签名(META-INF)
- 升级到php5.4:织梦cms安装完成后登录后台出现空白解决办法
- Web_PHP_DedeCMS_DedeCMS开发点滴(开发库);
- 装了数据库之后用DBCA创建数据库实例以及安装Oracle10g服务里没有监听的解决方法
- 树状数组BIT-乒乓比赛
- 黑马程序员--学习笔记(其他类)
- 常用Sql语句