第六周(项目二)——对象作为数据成员。
来源:互联网 发布:试衣软件app 编辑:程序博客网 时间:2024/05/22 03:30
/*02.*烟台大学计算机学院学生03.*All right reserved.04.*文件名称*烟台大学计算机学院学生05.*All right reserved.06.*文件名称:对象作为数据成员07.*作者:王洪海08.*完成日期:2013年4月2日09.*版本号:v1.010.*对任务及求解方法的描述部分:对象作为数据成员11.*我的程序:12.*/#include <iostream>#include <cmath>using namespace std; //点类class CPoint{private: double x; //横坐标 double y; //纵坐标public: CPoint(double xx=0,double yy=0); double Distance1(CPoint p) const; // 两点之间的距离(一点是当前点,另一点为参数p) void input(); //以x,y 形式输入坐标点 void output(); //以(x,y) 形式输出坐标点};//定义结构成员函数CPoint::CPoint(double xx,double yy){ x=xx; y=yy;}//输入点的坐标void CPoint::input(){ cout<<"请输入顶点的坐标(x,y): "; cin>>x>>y;}//输出点的坐标void CPoint::output(){ cout<<"("<<x<<","<<y<<")"<<endl;}//计算两点之间的距离double CPoint::Distance1(CPoint p) const{ double d; d=sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); return d;} //三角形类class CTriangle{public: CTriangle(CPoint &X,CPoint &Y,CPoint &Z):A(X),B(Y),C(Z) {} //给出三点的构造函数 void setTriangle(CPoint &X,CPoint &Y,CPoint &Z); //建立三角形 float perimeter(void);//计算三角形的周长 float area(void);//计算并返回三角形的面积 bool isRightTriangle(); //是否为直角三角形 bool isIsoscelesTriangle(); //是否为等腰三角形private: CPoint A,B,C; //三顶点};void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z){ A=X; B=Y; C=Z;}float CTriangle::perimeter(void){ double c1,c2,c3,c4; c1=A.Distance1(B); c2=B.Distance1(C); c3=C.Distance1(A); c4=c1+c2+c3; return c4;}float CTriangle::area(void){ double c1,c2,c3,s,d; c1=A.Distance1(B); c2=B.Distance1(C); c3=C.Distance1(A); d=(c1+c2+c3)/2; s=sqrt(d*(d-c1)*(d-c2)*(d-c3)); return s;}bool CTriangle::isRightTriangle(){ double c1,c2,c3; bool t=false; c1=A.Distance1(B); c2=B.Distance1(C); c3=C.Distance1(A); if((c1*c1+c2*c2==c3*c3)||(c1*c1+c3*c3==c2*c2)||(c2*c2+c3*c3==c1*c1)) t=true; return t;}bool CTriangle::isIsoscelesTriangle(){ double c1,c2,c3; bool t=false; c1=A.Distance1(B); c2=B.Distance1(C); c3=C.Distance1(A); if((c1==c2)||(c1==c3)||(c2==c3)) t=true; return t;}int main(){ CPoint a,b,c; cout<<"请输入三角形的三个顶点的坐标:"<<endl; a.input(); b.input(); c.input(); CTriangle t(a,b,c); cout<<"三角形的周长为: "<<t.perimeter()<<endl; cout<<"三角形的面积为: "<<t.area()<<endl; if(t.isRightTriangle()) { cout<<"此三角形为直角三角形。"<<endl; } else { cout<<"此三角形不是直角三角形。"<<endl; } if(t.isIsoscelesTriangle()) { cout<<"此三角形为等腰三角形。"<<endl; } else { cout<<"此三角形不是等腰三角形。"<<endl; }}
运行结果,如下图:
0 0
- 第六周项目二——对象作为数据成员
- 第六周(项目二)——对象作为数据成员。
- 第六周项目二对象作为数据成员
- 第六周项目二对象作为数据成员
- 第六周 项目二 对象作为数据成员
- 第五周项目二——对象作为数据成员
- 第五周项目二——对象作为数据成员
- 第六周上机实践项目——对象作为数据成员
- 第六周 项目2 对象作为数据成员
- 第六周 项目2 对象作为数据成员
- 第六周项目2-对象作为数据成员
- 第六周项目2-对象作为数据成员
- 第六周项目2-对象作为数据成员
- 第六周项目2-对象作为数据成员
- 第二学期第六周项目2--对象作为数据成员
- 第六周上机项目2-对象作为数据成员.
- 第五周 课后实践:项目二——对象作为数据成员
- 2014-项目二-对象作为数据成员
- 检查网站中没用到的css
- 如何强制关闭Tomcat,同时杀死进程
- H264学习过程总结5 H264视频文件编码成MP4文件
- UITextField 实时监听
- 关于CCArmature的内存泄漏
- 第六周(项目二)——对象作为数据成员。
- 为什么不能将类模板的声明与类模板函数实现分开写
- with as 语句对性能的提示有多大?
- poj 1657 Distance on Chessboard(模拟贪心)
- shell脚本条件判断
- 解决:导入第三方包报错java.lang.NoClassDefFoundError:XXX.XXX,XXXXXX
- 微信公众平台开发教程(一) 微信公众账号注册流程
- 接口、抽象类
- Linux下BLAS的使用