C++题目,高分,在线等!

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:13:04
编写一个友元函数,用于计算两个三角形的面积之和。设计一个三角形类Triangle,私有数据成员是三角形的三个边长;设计一个私有函数成员area(),用来计算三角形的面积;设计一个公有成员函数isTriangle(),来判断是否构成三角形;设计一个友元函数twoarea(Triangle t1,Triangle t1)用于计算两个三角形的面积,在友元函数中调用私有成员函数area()来计算面积。
测试程序:
#include <iostream>
#include <cmath>
using namespace std;

//...这里请补充完整

int main()
{
Triangle tl (3,5,7) ,t2 (8, 7, 12) ;
if (tl.isTriangle() && t2.isTriangle())
cout << "Total area of two Triangles:" << twoarea(tl,t2) << endl;
else
cout << "Cannot form a Triangle"<< endl;
return 0;
}

程序运行结果为:
Total area of two Triangles:33.4013

#include <iostream>
#include <math.h>
using namespace std;
#define TURE 1
#define FALSE 0

class Triangle
{
public:
Triangle(float x,float y, float z):a(x),b(y),c(z)
{
}

bool isTriangle();
friend float twoarea(Triangle &t1,Triangle &t2);

private:
float Area();
float a;
float b;
float c;
};

bool Triangle::isTriangle()
{
if (a + b > c || a + c > b || b + c > a)
return TURE;
else
return FALSE;
}

float Triangle::Area()
{
float s;
float area = 0;
s = 1.0/2*(a+b+c);
area = sqrt(s*(s-a)*(s-b)*(s-c));
return area;
}

float twoarea(Triangle &t1,Triangle &t2)
{
float Sum;
Sum = t1.Area() + t2.Area();
return Sum;
}

void main()
{
Triangle a(4,5,6);
Triangle b(4,5,7);

if (a.isTrian