C++求三角形面积问题

计算三角形周长。定义一个Triangle类来描述三角形,并使用点Point类的对象来表示端点。
在Triangle类构造函数中实现计算周长的功能

#include<iostream>
#include<cmath>
using namespace std;
//点类
class Point
{
private:
double x;
double y;
public:
void set_point(double dx,double dy); //设置点的坐标值
double get_point_x(); //获取点的横坐标值
double get_point_y(); //获取点的纵坐标值
};
//三角形类
class Triangle
{
private:
Point T_point_a;
Point T_point_b;
Point T_point_c;
public:
Triangle(Point pa,Point pb,Point pc)//构造函数
{
T_point_a=pa;
T_point_b=pb;
T_point_c=pc;
}
double get_distance(Point point_a,Point point_b); //求两个点之间的距离
double get_length(); //求三角形的周长
};
void Point::set_point(double dx,double dy)
{
x=dx;
y=dy;
}
double Point::get_point_x()
{
return x;
}
double Point::get_point_y()
{
return y;
}
double Triangle::get_distance(Point point_a,Point point_b)
{
return sqrt((point_a.get_point_x()-point_b.get_point_x())*(point_a.get_point_x()-point_b.get_point_x())+(point_a.get_point_y()-point_b.get_point_y())*(point_a.get_point_y()-point_b.get_point_y()));
}

double Triangle::get_length()
{
return get_distance(T_point_a,T_point_b)+get_distance(T_point_a,T_point_c)+get_distance(T_point_b,T_point_c);
}
int main()
{
Point pa,pb,pc;
double x,y;
cout<<"输入第一个点的坐标:"<<endl;
cin>>x>>y;
pa.set_point(x,y);
cout<<"输入第二个点的坐标:"<<endl;
cin>>x>>y;
pb.set_point(x,y);
cout<<"输入第三个点的坐标:"<<endl;
cin>>x>>y;
pc.set_point(x,y);
Triangle triangle=Triangle(pa,pb,pc);
bool Is_triangle=(triangle.get_distance(pa,pb)+triangle.get_distance(pa,pc)>triangle.get_distance(pb,pc))&&(triangle.get_distance(pa,pb)+triangle.get_distance(pb,pc)>triangle.get_distance(pa,pc))&&(triangle.get_distance(pb,pc)+triangle.get_distance(pa,pc)>triangle.get_distance(pa,pb));
if(!Is_triangle)
cout<<"您输入的坐标不能构成三角形!"<<endl;
else
cout<<"三角形的周长:"<<triangle.get_length()<<endl;
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-14
构造函数不要做其他事情,只负责初始化类成员,明白不?

输入三角形三边求面积c语言
1、第一步:首先打开我们的DEVC++软件,点击“新建源代码”。2、第二步:在编辑页面输入以下代码:include<stdio.h>intmain(){folata,b,c,s,p;printf("请输入三角形的三边:");scanf("%f%f%f",&a,&b,&c)p=(a+b+c)\/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("三角形的面积...

怎样用C语言求三角形的面积公式?
C语言:输入三角形三条边的边长,并输出面积:1、首先打开我们的DEV C++软件,点击“新建源代码”。2、在编辑页面输入以下代码:include<stdio.h> int main(){ folat a,b,c,s,p ;printf("请输入三角形的三边:");scanf("%f %f %f",&a,&b,&c);p=(a+b+c)\/2;s=sqrt((p-a)*(p-...

c++求三角形面积
double s = sqrt(p*(p-a)*(p-b)*(p-c));

c++书上有这段例子 输入三角形的3边长,求三角形面积
area是三角形的面积,S只是计算中的一个中间变量。

c++编写程序根据键盘输入的边长计算三角形的面积并输出,判断能否构成...
\/*cout<<"能够构成三角形"<<endl;*\/\/\/该语句可删除,已在函数panduan()内输出了 s=mianji(a,b,c);\/*注意结尾加";",另外,面积函数返回类型为空,不能将该语句赋值给变量s 方法一:将面积函数定义为返回类型为double型;(注意函数声明)方法二:直接在面积函数内输出结果,在主函数内调用该...

c++一个小程序编写
计算三角形面积:include<cstdlib>#include<cmath>#include<iostream>using namespace std;float triangle(float,float,float);int main(){int a,b,c;cin>>a>>b>>c;cout<<triangle(a,b,c);system("pause");return 0;}float triangle(float x, float y,float z){int p;p=(x+y+z)\/2;...

c++编程已知"边角边",计算三角形的面积
直接math.h 然后就用sin函数即可。s=0.5*sin(A)*b*c

c++输入三条边值,判断是否成立三角形,若能形成求面积
思路就是判断三条边的任意两边相加是否大于第三边,成立则是三角形。面积有就算公司。。。假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=√[p(p-a)(p-b)(p-c)]而公式里的p为半周长:p=(a+b+c)\/2

C++:输入一个三角形的三个边长值,求该面积并输出
3,int main()4,{ 5,double a,b,c,s 6,cout<<"请输入三角形的三边长度:"7,cin>>a>>b>>c;8,if( a+b<=c || fabs(a-b)>=c)printf("the num you input is wrong!")9,else 10,{ 11, s=(a+b+c)\/2 12,cout<<"The area is "<<sqrt(s*(s-a)*(s-b)*(s...

...求斜边的长度和三角形面积(保留2位小数) 如何编程
)。→x1+x2=-4k1²\/(1+2k1²)。x1x2=(2k1²-2)\/(1+2k1²)。同理,设C(x3,y3),D(x4,y4)。→(1+2k2²)x²-4k2²x+2k2²-2=0。→x3+x4=4k2²\/(1+2k2²),x3x4=(2k2²-2)\/(1+2k2²)。

相似回答