头文件
#include<iostream>
#include<cmath>
using namespace std;
构造一个三角形类
class Triangle
{
public:
Triangle(float A,float B,float C);
~Triangle(){} //析构函数
float circumference();
float area();
void judge();
int jiasanjiao();
private:
float a,b,c;
};
实现
Triangle::Triangle(float A,float B,float C)
{
a=A;
b=B;
c=C;
}
//构造函数初始化数据成员a,b,c
float Triangle::Triangle::circumference()
{
return (a+b+c);
}
//求出三角形的周长
float Triangle::area()
{
float cos;
cos=(a*a+b*b-c*c)/(2*a*b);
float sin;
sin=sqrt(1-cos*cos);
float area1;
area1=(0.5)*a*b*sin;
return(area1);
}
//求出三角形的面积
void Triangle::judge()
{
if(a==b==c)
cout<<"这是一个等边三角形"<<endl;
if((a==b&&a!=c)||(a==c&&a!=b)||(b==c&&b!=a))
{
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
cout<<"这是一个等腰直角三角形"<<endl;
else
cout<<"这是一个等腰三角形"<<endl;
}
float t,cos;
if(a<b)
{
t=a;
a=b;
b=t;
}
if(a<c)
{
t=a;
a=c;
c=t;
}
cos=(b*b+c*c-a*a)/(2*b*c);
if(cos>0)
cout<<"这是一个锐角三角形"<<endl;
if(cos<0)
cout<<"这是一个钝角三角形"<<endl;
if(cos==0)
cout<<"这是一个直角三角形"<<endl;
}
//判断三角形的类型
int Triangle::jiasanjiao()
{
float t;
if(a<b)
{
t=a;
a=b;
b=t;
}
if(a<c)
{
t=a;
a=c;
c=t;
}
if((b+c)>a&&(a-b)<c&&(a-c)<b&&(b-c)<a)
return 1;
else
return 0;
}
//判断是否为一个三角形
主函数
//主函数
int main()
{
float a,b,c;
cout<<"请输入三角形的三条边:";
cin>>a>>b>>c;
Triangle tri(a,b,c);
if(tri.jiasanjiao()==0)
{
cout<<"这不是一个三角形"<<endl;
}
else
{
cout<<"这个三角形的周长是:"<<tri.circumference()<<endl;
cout<<"这个三角形的面积是:"<<tri.area()<<endl;
tri.judge();
}
return 0;
}
运行结果