请设计一个三角形类,其中三角形信息包括:各边边长;三角形类对外能提供的接口功能包括:判断能否构成三角形、输出三角形周长、输出三角形面积、输出三角形类型(判断三角形是直角,锐角,还是钝角三角形)。
#include
#include
using namespace std;
class triangle
{
private:
double a,b,c;
public:
triangle()
{
cout<<"请输入三角形三边";
cin>>a>>b>>c;
}
triangle(int a,int b,int c)
{
this->a=a;
this->b =b;
this->c =c;
while((a+b<=c)||(a+c<=b)||(b+c<=a))
{
cout<<"请重新输入三角形边长";
cin>>a>>b>>c;
}
}
~triangle()
{}
double perimeter()
{
return a+b+c;
}
double area()
{
double p=0.5*perimeter();
double s=sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
char shapetype()
{
if(a*a+b*b>c*c)
cout<<"钝角三角形"<<endl;
else if(a*a+b*b<c*c)
cout<<"锐角三角形"<<endl;
else if(a*a+b*b==c*c)
cout<<"直角三角形"<<endl;
}
void show()
{
cout<<"三角形"<<"a="<<a<<"b="<<b<<"c="<<c<<endl;
cout<<"周长"<<this->perimeter() <<endl;
cout<<"面积"<<this->area() <<endl;
cout<<this->shapetype() <<endl;
}
};
int mian()
{
triangle A;
triangle B(3,4,5);
A.show() ;
B.show() ;
return 0;
}
边长a,b,c没有按从小到大排序
还有钝角和锐角反了