c++题 定义三角形类 求周长与面积
来源:百度知道 编辑:UC知道 时间:2024/05/29 14:33:40
point对象应该有2个参数吧
生成3个point的对象
先根据2点的坐标计算2点间线段的长度,再根据线段比较或计算
三角形面积有个计算公式(据说是海伦定理,不过我记得那个公式是黄冈一个高中老师首先发明的啊,怎么成老外的定理了,郁闷)
假设△ABC三边为a,b,c
则S△ABC=√[l(l-a)(l-b)(l-c)]
判断三点是否在一条直线上,
只要判断由3点构成的3条线段中的任意2条的斜率是否相同,如果相同就是非法三角形
判断等腰△
三边中有任意2条边相等即为等腰△
判断直角三角形
可以根据直角边的平方和=斜边的平方来判断
已知等腰三角行的2条直角边,说明这是个等腰直角三角形,可以采用小学阶段就可以学会的“勾股定理”。
即:斜边的平方=两直角边的平方和
就是a的平方加b的平方等于c的平方。
解法:求出两直角边的平方和后,看看和是哪个数的平方,就可以推断出第三边长度是多少了。
用Visul C++编程如下:
#include <iostream.h>
#include<math.h>
class TRI
{
float x1,y1,x2,y2,x3,y3;
double area;
double l1,l2,l3,s,l;
int type;
public:
TRI(float a,float b,float c,float d,float e,float f)
{
x1=a,y1=b,x2=c,y2=d,x3=e,y3=f;
}
void process()
{
l1=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
l2=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
l3=sqrt((x2-x3)*(x