#include
#include
using namespace std;
class point
{
public:
point(float x,float y):x(x),y(y)
{}
float getx()
{
return x;
}
float gety()
{
return y;
}
private:
float x;
float y;
};
class line:public point
{
public:
line(float x,float y):point(x,y)
{}
float length()
{
double x=getx();
double y=gety();
len=sqrt(x*x+y*y);
return len;
}
private:
float len;
};
class triangle
{
public:
triangle(line line1,line line2,line line3):line1(line1),line2(line2),line3(line3)
{}
void distinguish()
{
float len1=line1.length(),len2=line2.length(),len3=line3.length();
if(len1+len2<=len3||len1+len3<=len2||len2+len3<=len1)
cout<<"不能再组成三角形\n";
else if(len1==len2&&len2==len3)
cout<<"三角形为等边三角形\n";
else if(len1==len2||len1==len3||len2==len3)
cout<<"三角形为等腰三角形\n";
else if(len1*len1+len2*len2==len3||len1*len1+len3*len3==len2*len2||len2*len2+len3*len3==len1*len1)
cout<<"三角形为直角三角形\n";
else
cout<<"三角形为普通三角形\n";
}
void area()
{
float len1=line1.length(),len2=line2.length(),len3=line3.length();
float len=(len1+len2+len3)/2;
cout<<"三角形的面积为:"<<(len-len1)*(len-len2)*(len-len3)/2<
private:
line line1;
line line2;
line line3;
};
void
menu()
{
while(1){
cout<<"请选择菜单:\n";
cout<<"0 退出 1 判断三角形的种类和面积\n";
int n;
cin>>n;
if(n==0){
cout<<"谢谢使用!\n";
return;
}
else {
cout<<"请输入三个顶点:\n";
float x1,x2,x3,y1,y2,y3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
line line1(x1,y1);
line line2(x2,y2);
line line3(x3,y3);
triangle tri(line1,line2,line3);
cout<<"请选择菜单:\n";
cout<<"3 判断三角形的种类 4 输出三角形的面积\n";
cin>>n;
switch(n)
{
case 3:tri.distinguish();break;
case 4:tri.area();break;
default:cout<<"输入错误!\n";
}
}
}
}
int
main()
{
menu();
return 0;
}