C++三角形类的定义

来源:百度知道 编辑:UC知道 时间:2024/06/29 01:37:21
C++三角形类的定义,要求可以求三角形的周长和面积。
大虾帮忙啊~~

在Windows XP+VC++6.0下编译通过

#include<iostream>
#include<cmath>
using namespace std;

class Triangle
{
protected:
double P[3];//储存边长
public:
Triangle(double s1=3,double s2=4,double s3=5);//设置边长
double girth();//计算周长
double area();//计算面积
};
Triangle::Triangle(double s1,double s2,double s3)
{
P[0]=s1;
P[1]=s2;
P[2]=s3;
int j;
for(int i=0;i<3;i++)//判断边长是否合理
{
if(i!=2)
{
j=i+1;
}
else
j=0;
if(P[i]>=P[j]+P[3-(i+j)]) //0+1+2=3
{
cout<<"边长设置不合理!保持为默认值.\n";
P[0]=3;
P[1]=4;
P[2]=5;
}
}
}
double Triangle::girth()
{
return P[0]+P[1]+P[2];
}
double Triangle::area()
{
double cos=(P[0]*P[0]+P[1]*P[1]-P[2]*P[2])/(2*P[0]*P[1]);
double sin=sqrt(1-cos*cos);
return P[0]*P[1]*sin/2;
}
<