第四次上机实践项目-项目1-三角形类椎体-(5)



问题及代码:

/*

*文件名称:三角形类椎体

*作者:刘涛

完成日期:2016.3.27

*

*问题描述:输入三边,计算周长和面积

*输入描述:三个边长

程序输出:周长,面积

*/

#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
    Triangle(double x=1.0,double y=1.0,double z=1.0):a(x),b(y),c(z){}
    Triangle(Triangle&n);
    void setABC(double x,double y,double z);//设置三边的值,注意要能成三角形
    double perimeter();//计算三角形的周长
    double area();//计算并返回三角形的面积
    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;}
    void showMessage();//显示三角形信息
    bool isTriangle()
    {
        if(a+b>c&&b+c>a&&a+c>b)
            return true;
        else
            return false;
    }

private:
    double a,b,c;//三边为私有成员数据
};
int main()
{
    Triangle Tri1(3,4,5);//定义三角形类的一个实例(对象)
    Tri1.showMessage();//定义一个能显示三角形信息的成员函数
    Triangle Tri2(Tri1);
    Tri2.showMessage();
    return 0;
}
 Triangle::Triangle(Triangle&n)
 {
     a=n.a;
     b=n.b;
     c=n.c;
 }
 void Triangle::setABC(double x,double y,double z)
 {
     if(x+y>z&&x+z>y&&y+z>x)
     {
     a=x;
     b=y;
     c=z;
     }
     cout<<"三边为:"<<a<<" "<<b<<" "<<c<<endl;
 }
 double Triangle::perimeter()
 {
     return a+b+c;
 }
  double Triangle::area()
  {
      double p;
      p=(a+b+c)/2;
      return sqrt(p*(p-a)*(p-b)*(p-c));
  }
  void Triangle:: showMessage()
  {
      cout<<"三条边为:"<<a<<","<<b<<","<<c<<endl;
      cout<<"三角形的周长为:"<<perimeter()<<"\t"<<"面积为:"<<area()<<endl;
  }

运行及结果:

第四次上机实践项目-项目1-三角形类椎体-(5)_第1张图片



你可能感兴趣的:(第四次上机实践项目-项目1-三角形类椎体-(5))