/*
02.烟台大学计算机学院学生
03.*All rights reserved.
04.*文件名称:三角形
05.*作者:王洪海
06.*完成日期:2013年3月18日
07.*版本号:v1.0
08.1*对任务及求解方法的描述部分:三角形
09.
10.我的程序:
11.*/
#include <iostream>
#include <cmath>
#include <cstdlib>
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&&x+z>y&&z+y>x&&x-y<z&&x-z<y&&z-y<x&&y-x<z&&z-x<y&&y-z<x)
{
a=x;
b=y;
c=z;
}
else
{
cout<<"不能构成三角形!"<<endl;
exit(0);
}
}
void Triangle::getABC(double *x,double *y,double *z)
{
*x=a;
*y=b;
*z=c;
}
double Triangle::perimeter()
{
double h;
h=a+b+c;
return h;
}
double Triangle::area()
{
double s,q;
q=(a+b+c)/2;
s=sqrt(q*(q-a)*(q-b)*(q-c));
return s;
}
运行结果,如下图: