第5周项目2-对象作为数据成员
来源:互联网 发布:vs怎么连接sql数据库 编辑:程序博客网 时间:2024/05/18 01:42
#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; //两点之间的距离(一点是当前点——想到this了吗?,另一点为p) double Distance0() const; // 到原点(0,0)的距离 CPoint SymmetricAxis(char style) const;//style取'x','y'和'o'分别表示按x轴, y轴, 原点对称 void output(); //以(x,y) 形式输出坐标点 void input();};CPoint::CPoint(double xx,double yy){ x=xx; y=yy;}void CPoint::output(){ cout<<"("<<x<<", "<<y<<")"<<endl;}void CPoint::input(){ cin>>x>>y;}double CPoint::Distance1(CPoint p) const{ double l; l=sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); return l;}double CPoint::Distance0() const{ double l; l=sqrt(x*x+y*y); return l;}CPoint CPoint::SymmetricAxis(char style) const{ CPoint p(x,y); switch(style) { case'x': p.y=-y;break; case'y': p.x=-x;break; case'o': p.x=-x,p.y=-y;break; } return p;}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;};float CTriangle::perimeter(void){ double c; c=A.Distance1(B)+B.Distance1(C)+A.Distance1(C); return c;}bool CTriangle::isIsoscelesTriangle(){ double a,b,c; a=B.Distance1(C); b=A.Distance1(C); c=A.Distance1(B); if((a=b)||(a=c)||(b=c)) return true; else return false;}float CTriangle::area(void){ double a,b,c,m,s; a=B.Distance1(C); b=A.Distance1(C); c=A.Distance1(B); m=(a+b+c)/2; s=sqrt((m-a)*m*(m-b)*(m-c)); return s;}bool CTriangle::isRightTriangle(){ double a,b,c; a=B.Distance1(C); b=A.Distance1(C); c=A.Distance1(B); if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) return true; else return false;} void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z) { A=X; B=Y; C=Z; }int main(){ CPoint m,n,l; cout<<"输入第一个点:"; m.input(); cout<<"输入第二个点:"; n.input(); cout<<"输入第三个点:"; l.input(); CTriangle p(m,n,l); p.setTriangle(m,n,l); cout<<"三角形的周长为:"<<p.perimeter(); cout<<"三角形面积为:"<<p.area(); if(p.isRightTriangle()) cout<<"该三角形是直角三角形"<<endl; else cout<<"不是直角三角形"<<endl; if(p.isIsoscelesTriangle()) cout<<"该三角形是等腰三角形"<<endl; else cout<<"不是等腰三角形"<<endl; return 0;}
0 0
- 第5周项目2-对象成员作为数据成员
- 第5周项目2-对象成员作为数据成员
- 第5周项目【项目2 - 对象作为数据成员】
- 第5周项目2对象作为数据成员
- 第5周项目2对象作为数据成员
- 2015-第5周项目2-对象作为数据成员
- 第5周项目2-对象作为数据成员
- 第5周项目2-对象作为数据成员
- 第5周项目2对象作为数据成员
- 第5周项目2 对象作为数据成员
- 第5周项目2——对象作为数据成员
- 第06周:项目二:对象作为数据成员
- 第4周项目3-对象作为数据成员
- 第四周项目2——对象作为数据成员
- 第四周项目 2 对象作为数据成员
- 第5周项目3对象作为数据成员(多文件组织)
- C++第6周(春)项目2 对象作为数据成员
- 第4周-项目2-对象作为数据成员-三角形类
- ASIHTTPRequest实现https双向认证请求
- freetype2
- Android build system & Android.mk 规范
- asp.net MVC 如何处理404
- hdu 4819 二维线段树,单点修改区间查询
- 第5周项目2-对象作为数据成员
- mac下编辑配置文件命令
- scanf/printf/getchar/putchar/gets/puts/
- 2-16(采用数组方式)
- GooglePlay产品经理教你如何设计开发高质量App
- 百度首页背景图片设置-图片撑满整个body效果
- 线程第六课,线程状态与停止线程
- 使用GestureLibrary将手势保存到文件
- SSDB 添加接口