用C++完成 根据三点坐标求三角形面积 功能
2013-11-26 17:45
375 查看
一、要求:
已知平面直角坐标系中两点(x1,y1)和(x2,y2)之间的距离公式为
,三角形面积的计算公式为。其中,a,b,c为三角形的三边长,s=(1/2)(a+b+c).是定义一个描述平面直角坐标系上点的类Point,利用友元函数求坐标系中由三个点构成的三角形面积。具体要求如下:
(1)私有数据成员
float x,y;坐标系中的一个点坐标。
(2)公有数据成员
Point(double ,double);构造函数,初始化成员,参数的缺省值为0。
void print();输出点的坐标,格式为(x,y)。
友元函数
double distance(Point,Point);计算两点之间的距离。
double area(Point,Point,Point);计算由参数构成的三角形的面积,假设给定的三个点能够构成三角形。
(3)在主函数中完成对该类的测试。定义三个类的对象p1,p2,p3,这三个点的坐标分别为(5,10),(1,67),(50,-25)。输入这三点坐标,计算并输出由这三个点构成的三角形的面积。程序正确的输出结果为:
三角形的顶点坐标为:(5,10)(1,67)(50,-25)三角形的面积为:1212.5
二、代码:
三、运行结果:
已知平面直角坐标系中两点(x1,y1)和(x2,y2)之间的距离公式为
,三角形面积的计算公式为。其中,a,b,c为三角形的三边长,s=(1/2)(a+b+c).是定义一个描述平面直角坐标系上点的类Point,利用友元函数求坐标系中由三个点构成的三角形面积。具体要求如下:
(1)私有数据成员
float x,y;坐标系中的一个点坐标。
(2)公有数据成员
Point(double ,double);构造函数,初始化成员,参数的缺省值为0。
void print();输出点的坐标,格式为(x,y)。
友元函数
double distance(Point,Point);计算两点之间的距离。
double area(Point,Point,Point);计算由参数构成的三角形的面积,假设给定的三个点能够构成三角形。
(3)在主函数中完成对该类的测试。定义三个类的对象p1,p2,p3,这三个点的坐标分别为(5,10),(1,67),(50,-25)。输入这三点坐标,计算并输出由这三个点构成的三角形的面积。程序正确的输出结果为:
三角形的顶点坐标为:(5,10)(1,67)(50,-25)三角形的面积为:1212.5
二、代码:
// Point.h #ifndef _POINT_H #define _POINT_H #include <math.h> class Point { private: float x,y; public: Point(double a, double b){x = a; y = b;} void print(); friend double pointDistance(Point p1, Point p2); friend double area(Point p1, Point p2, Point p3); }; #endif
// Point.cpp #include <iostream> using namespace std; #include "Point.h" void Point:: print() { cout<<"("<<x<<","<<y<<")"<<" "; } double pointDistance(Point p1, Point p2) { double distance = 0; distance = sqrt((p1.y-p2.y)*(p1.y-p2.y)+(p1.x-p2.x)*(p1.x-p2.x)); return distance; } double area(Point p1, Point p2, Point p3) { double area = 0; double a = 0, b = 0, c = 0, s = 0; a = pointDistance(p1, p2); b = pointDistance(p2, p3); c = pointDistance(p1, p3); s = 0.5*(a+b+c); area = sqrt(s*(s-a)*(s-b)*(s-c)); return area; }
// PointMain.cpp #include <iostream> using namespace std; #include "Point.h" int main() { Point p1(5, 10); Point p2(1, 67); Point p3(50, -25); cout<<"三角形顶点坐标为:"; p1.print(); p2.print(); p3.print(); cout<<endl; cout<<"三角形面积为:"; cout<<area(p1, p2, p3)<<endl; return 0; }
三、运行结果:
相关文章推荐
- 一个抽象类Shape 里边有两个抽象方法 计算面积 和 周长; Shape由三角形和圆形继承,利用多态的特性设计完成不同子类的功能
- 由在三点坐标求三角形面积
- 计算几何(知三角形三点坐标,求三角形的面积)
- C++设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右下角两个点的坐标,根据坐标计算矩形的面积
- 通过三点坐标求三角形面积
- 三点坐标求三角形的面积
- 已知三角形三点坐标,求三角形的面积
- 已知三角形三点坐标,求三角形的面积(二维和三维)
- 三点坐标求三角形面积(数学)
- HDU BugZhu抽抽抽!! 知道三点坐标,求三角形面积,外接圆面积,半径
- nyoj815三角形(已知三角形的三边长或三顶点坐标求面积)&& nyoj68三点顺序(向量叉积)
- 每日一个C++小程序(五)--根据坐标求矩阵面积
- Cocos2d-JS 贝塞尔曲线根据时间设定即时坐标位置 C++到JS 绑定实现(联网游戏客户端Bezier同步功能实现)
- 关于已知三角形三点坐标求三角形面积
- 已知三维空间内三点坐标,求三角形面积(简单)
- 已知三点坐标,求三角形面积(转载)
- 已知三角形三点坐标,求三角形的面积
- BugZhu抽抽抽!!(已知三角形三点坐标,求外接圆半径及三角面积)
- 已知三点坐标求三角形面积
- 已知三角形三点坐标, 求三角形的面积