c++第五次实验(三角形类)

来源:互联网 发布:java安装环境变量设置 编辑:程序博客网 时间:2024/05/21 05:38

一:代码源

#include<iostream>#include<cmath>#include<cstdlib>using namespace std;class Triangle  {  public:Triangle(double x=1, double y=1, double z=1){a=x;b=y;c=z;}Triangle(const Triangle &p);//复制构造函数    void setABC(double x, double y, double z);//置三边的值,注意要能成三角形,不是可以提示后直接用exit(0)退出,要加头文件cstdlib      double perimeter();//计算三角形的周长      double area();//计算并返回三角形的面积bool isTriangle();//判断三角形能否构成void showMessage();//显示三角形信息inline void setA(double x){a=x;}inline void setB(double y){b=y;}inline void setC(double z){c=z;}inline double getA(){return a;}inline double getB(){return b;}inline double getC(){return c;}private:      double a,b,c; //三边为私有成员数据  };  int main()  {      Triangle tri1;  //定义三角形类的一个实例(对象)    double x,y,z;     tri1.setABC(4,5,6); //为三边置初值      cout<<"三角形的周长为:"<< tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl;            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'<<"面积为:"<< tri1.area()<<endl;        }        else            cout<<"不能构成三角形"<<endl; Triangle Tri(7,8,9);    //定义三角形类的一个实例(对象)      Tri.showMessage();  //定义一个能显示三角形信息的成员函数Triangle Tri1;   //定义边长为1 1 1的三角形类实例      Tri1.showMessage();      Triangle Tri2(1.5);//定义边长为1.5 1 1的三角形类实例      Tri2.showMessage();      Triangle Tri3(1.5,1.5);//定义边长为1.5 1.5 1的三角形类实例      Tri3.showMessage();      Triangle Tri4(7,8,9); //定义边长为7 8 9的三角形类实例      Tri4.showMessage();  Triangle Tri5(3,4,5);   //定义边长为3 4 5的三角形类实例      Tri1.showMessage();      Triangle Tri6(Tri5); //调用复制构造函数      Tri2.showMessage();    return 0;  }  //请在下面定义Triangle类中的各个成员函数  void Triangle::setABC(double x, double y, double z)//置三边的值,注意要能成三角形,不是可以提示后直接用exit(0)退出,要加头文件cstdlib  {if(x+y<=z||x+z<=y||y+z<=x){cout<<"输入的数据不能构成三角形!";exit(0);}else{a=x;b=y;c=z;}}double Triangle::perimeter()//计算三角形的周长{return a+b+c;}  double Triangle::area()//计算并返回三角形的面积 {double p,s;p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));return s;} bool Triangle::isTriangle(){if(a+b<=c||a+c<=b||b+c<=a)return false;elsereturn true;}void Triangle::showMessage(){cout<<"三条边为:"<<a<<','<<b<<','<<c<<endl;    cout<<"三角形的周长为:"<<perimeter()<<'\t'<<"面积为:"<<area()<<endl;cout<<endl<<endl;}Triangle::Triangle(const Triangle &p){a=p.a;b=p.b;c=p.c;}

二:运行结果


0 0