C++第五次实验-作业报告

来源:互联网 发布:linux redis 命令大全 编辑:程序博客网 时间:2024/06/09 20:58

一、问题及代码

/*     *文件名:0.cpp     *作者:张前咨     *完成日期:2017年4月24日     *版本号:5.11      *对任务及其完成方法的描述部分:     *输入描述:无     *问题描述:     【项目2:三角形类】    *程序输出:     *问题分析:略    *算法设计:略     */  #include<iostream>#include<cmath>using namespace std;class Trangle{  public: ~Trangle(){};Trangle(double x=1,double y=1,double z=1){a=x;b=y;c=z;}Trangle(const Trangle &p){a=p.a;b=p.b;c=p.c;}void showMessage();    void setABC(double , double , double );//置三边的值,注意要能成三角形,不是可以提示后直接用exit(0)退出,要加头文件cstdlib      void setA(double m){a=m; } void setB(double n){b=n;}void setC(double p){c=p;}double getA(){return a;}double getB(){return b;}double getC(){return c;}bool isTrangle();double perimeter();//计算三角形的周长      double area();//计算并返回三角形的面积  private:      double a,b,c; //三边为私有成员数据  }; int main(){    Trangle tri1;  //定义三角形类的一个实例(对象)    tri1.setABC(4,5,6); //为三边置初值      cout<<"三角形的周长为:"<< tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl; cout<<"这三条边"<<(tri1.isTrangle()?"能":"不能")<<"构成三角形"<<endl;      cout<<"Tri三角形的三条边分别为:";    Trangle Tri(7,8,9);    //定义三角形类的一个实例(对象)Tri.showMessage();//定义一个能显示三角形信息的成员函数 cout<<"下面测试默认参数的构造函数:"<<endl;Trangle Tri2(1.5);//定义边长为1.5 1 1的三角形类实例      Tri2.showMessage();      Trangle Tri3(1.5,1.5);//定义边长为1.5 1.5 1的三角形类实例      Tri3.showMessage();  Trangle Tri4(7,8,9); //定义边长为7 8 9的三角形类实例      Tri4.showMessage();     cout<<"下面测试拷贝构造函数:"<<endl;    Trangle Tri5(Tri4);    Tri5.showMessage();    return 0;  }void Trangle::setABC(double x,double y,double z){a=x;b=y;c=z;}double Trangle::perimeter(){return a+b+c;}double Trangle::area(){int p=perimeter()/2;return sqrt(p*(p-a)*(p-b)*(p-c));//海伦秦九韶公式 }bool Trangle::isTrangle(){if((a+b>c)&&(a+c>b)&&(b+c>a))return true;elsereturn false;}void Trangle::showMessage(){cout<<a<<' '<<b<<' '<<c<<endl;}

二、运行结果


0 0