在三角形类TRI实现两个函数,功能是输入三个顶点坐标判断是否构成三角形
#include<iostream.h>
#include<math.h>
class point{
private:float x,y;
public:point(float a,float b){x=a;y=b;}
point(){x=0;y=0;}
void set(float a,float b){x=a;y=b;}
flo

在三角形类TRI实现两个函数,功能是输入三个顶点坐标判断是否构成三角形
#include<iostream.h>
#include<math.h>
class point{
private:float x,y;
public:point(float a,float b){x=a;y=b;}
point(){x=0;y=0;}
void set(float a,float b){x=a;y=b;}
float getx(){return x;}
float gety(){return y;}
};
class tri{
point x,y,z;
float s1,s2,s3;
public:....settri(....);//用于输入三个顶点坐标
....test(....);//用于判断是否构成三角形
};请写出两个函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)


【正确答案】:

//用于输入三个顶点坐标

VOID TRI::SETTRI(FLOAT X1,FLOAT Y1,FLOAT X2,FLOAT Y2,FLOAT X3,FLOAT Y3)
{
X.SET(X1,Y1);&NBSP;

Y.SET(X2,Y2);&NBSP;

Z.SET(X3,Y3);
}
//用于判断是否构成三角形

VOID TRI::TEST(){
FLOAT SUM1, SUM2 ,SUM3;
S1=SQRT((X.GETX()-Y.GETX())*(X.GETX()-Y.GETX())+(X.GETY()-Y.GETY())*(X.GETY()-Y.GETY()));
S2=SQRT((X.GETX()-Z.GETX())*(X.GETX()-Z.GETX())+(X.GETY()-Z.GETY())*(X.GETY()-Z.GETY()));
S3=SQRT((Y.GETX()-Z.GETX())*(Y.GETX()-Z.GETX())+(Y.GETY()-Z.GETY())*(Y.GETY()-Z.GETY()));
SUM1=S1+S2;
SUM2=S1+S3;
SUM3=S2+S3;
IF(SUM1>S3 && SUM2>S2 && SUM3>S1 )
COUT<<“可以成为三角形”<<ENDL;
ELSE

COUNT<<“不能成为三角形”<<ENDL;
}


【题目解析】:

判断三条边能构成三角形的条件:任意两边之和大于第三边或任意两边之差小于第3边。 

 


Top