第二学期第三周 项目1
来源:互联网 发布:js数组 break 编辑:程序博客网 时间:2024/05/03 23:51
/*一点思考:因为主函数的限制,这个程序并没有验证三边,在不满足构成三角形的条件下终止程序的功能,如果想有此功能则需要在主函数中加判断*/#include <iostream>#include <cmath>using namespace std;class Triangle{public: void setABC(double x,double y,double z);// void getABC(double *x,double *y,double *z); double perimeter(void); double area(void);private: double a,b,c;};int main(){ Triangle tri1; tri1.setABC(4,5,6); double x,y,z; tri1.getABC(&x,&y,&z); cout<<"三边为"<<x<<'\t'<<y<<'\t'<<z<<endl; cout<<"三角形的周长为"<<tri1.perimeter()<<'\t'<<"面积为"<<tri1.area()<<endl; return 0;}void Triangle::setABC(double x,double y,double z){ if(x+y>z&&y+z>x&&x+z>y) { a=x; b=y; c=z; } else cout<<"不能构成三角形";}void Triangle::getABC(double *x,double *y,double *z){ *x=a; *y=b; *z=c;}double Triangle::perimeter(void){ return a+b+c;}double Triangle::area(void){ double p=(a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c));}
运行结果:
#include <iostream>#include <cmath>using namespace std;class Triangle{ public: void setA(double x) { a=x; }; void setB(double y) { b=y; }; void setC(double z) { c=z; }; double getA() { return a; } double getB() { return b; } double getC() { return c; } bool isTriangle();//用于判断能否构成三角形 double perimeter(void); double area(void);private: double a,b,c; //三边为私有成员数据};int main(){ Triangle tri1;//定义三角形类的一个实例(对象) double x,y,z; cout<<"请输入三角形的三边:"; cin>>x>>y>>z; tri1.setA(x); tri1.setB(y); tri1.setC(z);//为三边置初值 if(tri1.isTriangle()) { cout<<"三条边为:"<<tri1.getA()<<','<<tri1.getB()<<','<<tri1.getC()<<endl; cout<<"三角形的周长为:"<< tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl; } else cout<<"不能构成三角形"<<endl; return 0;} bool Triangle::isTriangle(){ return (a+b>c&&a+c>b&&b+c>a);}double Triangle::perimeter(){ return a+b+c;}double Triangle::area(){ double p=(a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c));}运行结果:
0 0
- 第二学期第三周 项目1
- 第二学期第三周项目2--旱冰场造价
- 第二学期第三周项目3--时间类
- 第二学期第三周项目4--长方柱类
- 第二学期第六周项目1
- 第二学期第11周项目1
- 第二学期第二周项目1--学生成绩统计
- 第二学期第二周项目一
- 第二学期第二周项目二
- 第二学期第六周项目1--体验常成员函数
- 第二学期第七周项目1--深复制的体验
- 大一第二学期第2周【项目1:旱冰场造价】
- 第二学期第三周项目3 三角形类的多文件组织
- 第二学期第九周项目5--一元一次方程
- 第二学期第13周项目--改错
- 第二学期第六周项目2
- 第二学期第二周项目四--玩日期
- 2016-2017学年第二学期C++第三章(1)
- EL和JSTL表达式
- C#一种不安全的方法跨线程访问控件
- django中报错TypeError: su() takes exactly 1 argument (2 given)的解决办法
- MFC用CStdioFile类读取中文文本时乱码问题的一种解决方法
- Windows 7平台搭建Android Cocos2d-x3.4开发环境 遇到问题解决方法
- 第二学期第三周 项目1
- 晶振为什么要加电容 需要配多大电容
- 实现对一个数据(int)指定位置0或置1
- PSNR的计算
- hdoj 1071 The area
- 一个配置比较全的log4j.xml文件,配置的正确性已在项目中验证。
- 网段划分
- 将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love you.”倒换后变为"you. love i"
- POJ 3311-Hie with the Pie(floyd+TSP 状压DP)