C++第五次作业
来源:互联网 发布:mac美国官网怎么下单 编辑:程序博客网 时间:2024/06/08 08:15
一、问题及代码 :/** 文件名称:TEST.cpp* 作 者:胡嘉威* 完成日期:2017 年 4 月 25 日* 版 本 号:v1.0* 对任务及求解方法的描述部分:设计一个三角形类,给出各成员函数的定义 * 输入描述:无* 问题描述:设计一个三角形类,给出各成员函数的定义* 程序输出:三角形的周长为:15 三角形的面积为:6* 问题分析:本质上还是函数的应用,只不过使用类的形式加以表达。* 算法设计:在函数定义时用调用私有模块的a b c来完成计算。*/ #include <iostream>#include<cstdlib>#include<cmath>using namespace std;class Triangle{public: void setABC(double x,double y,double z); //置三边的值,注意要能成三角形,不是可以提示后直接用exit(0)退出,要加头文件cstdlib double perimeter(); //计算三角形的周长 double area(); //计算并返回三角形的面积private: double a,b,c; //三边为私有成员数据};int main(){ Triangle tri1; //定义三角形类的一个实例(对象) tri1.setABC(4, 5, 6);//为三边置初值 cout << "三角形的周长为:" << tri1.perimeter() << '\t' <<endl<< "三角形的面积为:" << tri1.area() << endl; return 0;}//请在下面定义Triangle类中的各个成员函数void Triangle::setABC(double x,double y,double z) //置三边的值,注意要能成三角形,不是可以提示后直接用exit(0)退出,要加头文件cstdlib{ a=x; b=y; c=z; if ((a+b<=c)||(a+c<=b)||(b+c<=a)) { cout <<"输入不正确,所输入的三条边不能组成三角形,请重新输入" <<endl; exit(0); }}double Triangle::perimeter() //计算三角形的周长{ int w; w=a+b+c; return w;}double Triangle::area(){ int S=0,k=0; k=(a+b+c)/2; S=sqrt(k*(k-a)*(k-b)*(k-c)); return S;}
二、运行结果 :
一、问题及代码 :/** 文件名称:TEST.cpp* 作 者:胡嘉威* 完成日期:2017 年 4 月 25 日* 版 本 号:v1.0* 对任务及求解方法的描述部分:设计一个三角形类,给出各成员函数的定义;逻辑特别简单的set和get成员函数,要处理为内联成员函数,直接在类内定义。 * 输入描述:4 5 6* 问题描述:设计一个三角形类,给出各成员函数的定义* 程序输出:请输入三角形的三边:4 5 6 三角形的三条边为:4,5,6 三角形的周长为:15 三角形的面积为:6* 问题分析:本质上还是函数的应用,只不过使用类的形式加以表达。* 算法设计:在函数定义时用调用私有模块的a b 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; } double perimeter(); //计算三角形的周长 double area(); bool isTriangle(); //计算并返回三角形的面积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()) //isTriangle()返回值为布尔型,用于判断给出的三边是否能构成一个三角形 { cout << "三角形的三条边为:" << tri1.getA() << ',' << tri1.getB() << ',' << tri1.getC() << endl; cout << "三角形的周长为:" << tri1.perimeter() << '\t' <<endl<< "三角形的面积为:" << tri1.area() << endl; } else cout << "不能构成三角形" << endl; return 0;}double Triangle::perimeter() //计算三角形的周长{ int w; w=a+b+c; return w;}double Triangle::area() //计算并返回三角形的面积{ int S=0,k=0; k=(a+b+c)/2; S=sqrt(k*(k-a)*(k-b)*(k-c)); return S;}bool Triangle::isTriangle() //判断给出的三边是否能构成一个三角形{ if ((a+b<=c)||(a+c<=b)||(b+c<=a)) { return 0; } else { return 1; }}
二、运行结果 :
一、问题及代码 :/** 文件名称:TEST.cpp* 作 者:胡嘉威* 完成日期:2017 年 4 月 25 日* 版 本 号:v1.0* 对任务及求解方法的描述部分:设计一个三角形类,给出各成员函数的定义;设计三角形类带参数的构造函数,即Triangle(double x, double y, double z),三边长在调用时由实参直接给出,使对象在定义时能够进行初始化。 * 输入描述:无* 问题描述:设计一个三角形类,给出各成员函数的定义;设计三角形类带参数的构造函数,即Triangle(double x, double y, double z),三边长在调用时由实参直接给出,使对象在定义时能够进行初始化。* 程序输出:三角形的三条边为:7 8 9 三角形的面积为:26.8328 三角形的周长为:24* 问题分析:本质上还是函数的应用,只不过使用类的形式加以表达。* 算法设计:在函数定义时用调用私有模块的a b c来完成计算。*/ #include <iostream>#include<cmath>using namespace std;class Triangle{public: Triangle(double x,double y,double z) { a=x; b=y; c=z; } double showMessage(); //计算并返回三角形的面积private: double a,b,c; //三边为私有成员数据};int main(){ Triangle Tri(7, 8, 9); Tri.showMessage(); return 0;}double Triangle::showMessage() //计算并返回三角形的面积及周长{ double S=0; int k=0,w=0; if ((a+b<=c)||(a+c<=b)||(b+c<=a)) { cout << "不能构成三角形" << endl; } else { cout << "三角形的三条边为:" <<a<<" "<<b<<" "<<c<<endl; k=(a+b+c)/2; S=sqrt(k*(k-a)*(k-b)*(k-c)); cout<<"三角形的面积为:"<<S<<endl; w=a+b+c; cout<<"三角形的周长为:"<<w<<endl; }}
二、运行结果:
一、问题及代码 :/** 文件名称:TEST.cpp* 作 者:胡嘉威* 完成日期:2017 年 4 月 25 日* 版 本 号:v1.0* 对任务及求解方法的描述部分:设计一个三角形类,给出各成员函数的定义;使用有默认参数的构造函数,不给定实参时,默认边长为1;注意——只需要一个构造函数即可。 * 输入描述:无* 问题描述:设计一个三角形类,给出各成员函数的定义;使用有默认参数的构造函数,不给定实参时,默认边长为1;注意——只需要一个构造函数即可。* 程序输出:三角形的三条边为:1 1 1 三角形的面积为:0.433013 三角形的周长为:3 三角形的三条边为:1.5 1 1 三角形的面积为:0.496078 三角形的周长为:3.5 三角形的三条边为:1.5 1.5 1 三角形的面积为:0.707107 三角形的周长为:4 三角形的三条边为:7 8 9 三角形的面积为:26.8328 三角形的周长为:24* 问题分析:本质上还是函数的应用,只不过使用类的形式加以表达。* 算法设计:在函数定义时用调用私有模块的a b c来完成计算。*/ #include <iostream>#include<cmath>using namespace std;class Triangle{public: Triangle(double x=1,double y=1,double z=1) { a=x; b=y; c=z; }; double showMessage(); //计算并返回三角形的面积private: double a,b,c; //三边为私有成员数据};int main(){ Triangle Tri1; //定义边长为1 1 1的三角形类实例 Tri1.showMessage(); cout<<endl; Triangle Tri2(1.5); //定义边长为1.5 1 1的三角形类实例 Tri2.showMessage(); cout<<endl; Triangle Tri3(1.5, 1.5); //定义边长为1.5 1.5 1的三角形类实例 Tri3.showMessage(); cout<<endl; Triangle Tri4(7, 8, 9); //定义边长为7 8 9的三角形类实例 Tri4.showMessage(); return 0;}double Triangle::showMessage() //计算并返回三角形的面积及周长{ double S=0; double k=0; int w=0; if ((a+b<=c)||(a+c<=b)||(b+c<=a)) { cout << "不能构成三角形" << endl; } else { cout << "三角形的三条边为:" <<a<<" "<<b<<" "<<c<<endl; k=(a+b+c)/2; S=sqrt(k*(k-a)*(k-b)*(k-c)); cout<<"三角形的面积为:"<<S<<endl; w=a+b+c; cout<<"三角形的周长为:"<<w<<endl; }}
二、运行结果 :
一、问题及代码 :/** 文件名称:TEST.cpp* 作 者:胡嘉威* 完成日期:2017 年 4 月 25 日* 版 本 号:v1.0* 对任务及求解方法的描述部分:设计一个三角形类,给出各成员函数的定义;使用复制构造函数,能用一个已有的三角形对象,复制出新的三角形对象。 * 输入描述:无* 问题描述:设计一个三角形类,给出各成员函数的定义* 程序输出:三角形的三条边为:3 4 5 三角形的面积为:6 三角形的周长为:12 三角形的三条边为:3 4 5 三角形的面积为:6 三角形的周长为:12* 问题分析:本质上还是函数的应用,只不过使用类的形式加以表达。* 算法设计:在函数定义时用调用私有模块的a b c来完成计算。*/ #include <iostream>#include<cmath>using namespace std;class Triangle{public: Triangle(double x,double y,double z) { a=x; b=y; c=z; }; double showMessage(); //计算并返回三角形的面积private: double a,b,c; //三边为私有成员数据};int main(){Triangle Tri1(3, 4, 5);//定义边长为3 4 5的三角形类实例Tri1.showMessage();cout<<endl;Triangle Tri2(Tri1); //调用复制构造函数Tri2.showMessage();return 0;}double Triangle::showMessage() //计算并返回三角形的面积及周长{ double S=0; double k=0, w=0; if ((a+b<=c)||(a+c<=b)||(b+c<=a)) { cout << "不能构成三角形" << endl; } else { cout << "三角形的三条边为:" <<a<<" "<<b<<" "<<c<<endl; k=(a+b+c)/2; S=sqrt(k*(k-a)*(k-b)*(k-c)); cout<<"三角形的面积为:"<<S<<endl; w=a+b+c; cout<<"三角形的周长为:"<<w<<endl; }}
二、运行结果 :
0 0
- c++-第五次作业
- 第五次C ++作业
- 第五次作业C语言
- C语言第五次作业练习
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次作业
- 第五次课后作业
- 第五次课后作业
- 第五次作业
- 第五次作业
- 第五次课堂作业
- 第五次课后作业
- Python 脚本调试如何C代码--工程小札记
- CCFCSP201312-4有趣的数
- 总结C++中几种结构体初始化的方法
- 797C Minimal string
- 使用@responseBody遇见的异常
- C++第五次作业
- jupyter与Pycharm远程开发
- Android Fragment 深度解析
- Docker windows 安装MySql和Tomcat
- java中的多线程
- Mybatis学习(2):Mybatis和Spring整合详解
- NodeJS解析url参数
- Linux学习笔记18
- Web安全-XSS