首页 » 技术分享 » C++ 计算三角形面积

C++ 计算三角形面积

 

C++编码实现计算三角形面积

1- 计算公式

  1. 方法一: S=√[p(p-a)(p-b)(p-c)] ,而公式里的p为半周长:p=(a+b+c)/2
  2. 方法二: S=ah/2
    • 方法三: formula

2- 思路:

  1. 模块化设计
  2. 定义点数据结构。使用结构体定义
  3. 定义计算两点间距离函数,
  4. 定义计算面积函数

3- 编码

#include <iostream>
#include<math.h>

using namespace std;
#include<windows.h>


/*设计一个三角形(Triangle)类,
构造函数初始化三个顶点,写一成员函数输出其面积。
写一成员函数绘制出该三角形。
在main()中测试这个类。*/

typedef struct Point
{
    int x, y;
}Point;

//先定义点类型, 用户保存三个点的位置
//函数求两点的距离
class Triangle
{
    private:
        Point a, b, c;
        // 像素计算, 像素是整数
        //int x1, y1, x2, y2, x3, y3;//分散参数
    public:
        Triangle(Point a, Point b, Point c);
        double Area()
        {
            //先求边长,在求面积
            double x = getDistance(a,b);
            double y = getDistance(b,c);
            double z = getDistance(a,c);
            double p = (x + y + z)/2;
            cout<<"边长 "<<x<<endl;
            cout<<"边长 "<<y<<endl;
            cout<<"边长 "<<z<<endl;
            //return sqrt((p*( p - x )*( p - y )*( p - z )));
            cout<<"三角形面积是 "<<p<<endl;
            return p;
        }
        double getDistance(Point b, Point a)
        {
            double sum = sqrt((a.x - b.x)*(a.x - b.x) + (a.y - b.y) * (a.y - b.y));

            return sum;
        }
        ~Triangle()
        {
            // cout<<"Triangle 对象被-析构"<<endl;
        }
};
Triangle::Triangle(Point a, Point b, Point c)
{
            this->a = a;
            this->b = b;
            this->c = c;
};

int main()
{
     

    Point p1;
    p1.x = 0;
    p1.y = 0;
    Point p2;
    p2.x = 0;
    p2.y = 3;
    Point p3;
    p3.x = 4;
    p3.y = 0;

    Triangle triangle(p1, p2, p3);

    triangle.Area();
      
    return 0;
}

转载自原文链接, 如需删除请联系管理员。

原文链接:C++ 计算三角形面积,转载请注明来源!

1