欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++ 计算三角形面积

程序员文章站 2022-04-01 16:12:11
...

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

1- 计算公式

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

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;
}