第五周 课后实践:项目二——对象作为数据成员
来源:互联网 发布:安卓数独源码 编辑:程序博客网 时间:2024/06/16 06:23
问题及代码:
/** Copyright (c) 2014, 烟台大学计算机学院* All rights reserved.* 文件名称:Project4.cpp* 作 者:陈旭* 完成日期:2015年4月 8日* 版 本 号:v1.0** 问题描述:设计一个三角形类,输入三角形的三个顶点,求出其面积,周长,并判断其是否为直角三角形和等腰三角形* 输入描述:略* 程序输出:略*/#include<iostream>#include<cmath>using namespace std;class CPoint{private: double x; double y;public: CPoint(double xx=0,double yy=0); double Distance(CPoint p)const; void input(); void output();};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; //三顶点};CPoint::CPoint(double xx,double yy){ x=xx; y=yy;}void CPoint::input(){ char n; cout<<"请输入坐标点(格式x,y ):"; while(1) { cin>>x>>n>>y; if (n==',') break; cout<<"输入的数据格式不符合规范,请重新输入"<<endl; }} void CPoint::output(){ cout<<"("<<x<<", "<<y<<")"<<endl;}double CPoint::Distance(CPoint p)const{ double d; d=sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); return d;}void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z){ A=X; B=Y; C=Z;}float CTriangle::perimeter(void){ float a,b,c; a=A.Distance(B); b=B.Distance(C); c=C.Distance(A); return a+b+c;}float CTriangle::area(void){ float a,b,c; a=A.Distance(B); b=B.Distance(C); c=C.Distance(A); double p; p=(a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c));}bool CTriangle::isIsoscelesTriangle(){ float a,b,c; a=A.Distance(B); b=B.Distance(C); c=C.Distance(A); if(a==b||b==c||c==a) return true; else return false;}bool CTriangle::isRightTriangle(){ float a,b,c; a=A.Distance(B); b=B.Distance(C); c=C.Distance(A); if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) return true; else return false;}int main(){ CPoint X(2,6),Y(3,4),Z(5,6); CTriangle c(X,Y,Z); cout<<"该三角形的面积为:"<<c.area()<<endl; cout<<"该三角形的周长为:"<<c.perimeter()<<endl; if(c.isRightTriangle()) cout<<"该三角形是直角三角形。"<<endl; else cout<<"该三角形不是直角三角形。"<<endl; if(c.isIsoscelesTriangle()) cout<<"该三角形是等腰三角形。"<<endl; else cout<<"该三角形不是等腰三角形。"<<endl;}
运行结果:
0 0
- 第五周 课后实践:项目二——对象作为数据成员
- 第五周项目二——对象作为数据成员
- 第五周项目二——对象作为数据成员
- 第五周上机实践项目2——对象作为数据成员
- 第五周上机实践项目2-对象作为数据成员
- 第五周项目2——对象作为数据成员
- 第五周项目2——对象作为数据成员
- 第五周项目二 对象作为数据成员
- 第五周项目二:对象作为数据成员
- 第五周 项目二-对象作为数据成员
- 2015年第五周项目二:对象作为数据成员
- 第五周项目二---对象作为数据成员
- 第五周项目二之对象作为数据成员
- 第五周项目二 对象作为数据成员
- 第五周 项目二 对象作为数据成员
- 第五周项目二对象作为数据成员
- 第五周 项目二 对象作为数据成员
- 第五周项目二对象作为数据成员
- 第五周阅读程序3:对象指针小结
- HDU2723 Electronic Document Security【字符串】【水题】
- jsp编译后的文件位置(Eclipse和tomcat)
- 黑马程序员——面向对象
- web报表工具FineReport常用函数的用法总结(报表函数)
- 第五周 课后实践:项目二——对象作为数据成员
- asd
- zxc
- 第五周 课后实践--阅读程序(3,4,5,6)
- EMV技术学习和研究-脱机数据认证之SDA
- 第五周项目五
- Mysql索引会失效的几种情况分析
- PHP 验证登陆类
- (R语言)起步