21xrx.com
2024-09-19 10:13:51 Thursday
登录
文章检索 我的文章 写文章
用C++编写三角形代码
2023-07-05 11:56:36 深夜i     --     --
C++ 编写 三角形 代码

C++是一种流行的编程语言,使用C++语言编写三角形代码是一项基本技能。在本文中,我们将介绍如何使用C++编写三角形代码。

1. 定义三角形

在C++中,我们可以使用结构体来定义三角形。三角形的定义通常包括三个点、三个边、三个角度和一个面积。我们可以使用以下代码来定义三角形:


struct Triangle

  Point p1;

  Point p2;

  Point p3;

  double side1;

  double side2;

  double side3;

  double angle1;

  double angle2;

  double angle3;

  double area;

;

2. 计算三角形的边、角度和面积

接下来,我们需要编写代码来计算三角形的边、角度和面积。通常,我们可以使用以下公式来计算三角形的边和角度:


// 计算边长

double distance(Point p1, Point p2) {

  double dx = p1.x - p2.x;

  double dy = p1.y - p2.y;

  return sqrt(dx * dx + dy * dy);

}

// 计算角度

double angle(double side1, double side2, double side3) {

  return acos((side1 * side1 + side2 * side2 - side3 * side3) / (2 * side1 * side2));

}

要计算三角形的面积,我们可以使用以下公式:


// 计算面积

double area(Triangle t) {

  double s = (t.side1 + t.side2 + t.side3) / 2;

  return sqrt(s * (s - t.side1) * (s - t.side2) * (s - t.side3));

}

3. 输出三角形的信息

最后,我们需要编写代码来输出三角形的信息。我们可以使用以下代码来打印三角形的点坐标、边长、角度和面积:


// 输出三角形信息

void print(Triangle t) {

  cout << "Point 1: (" << t.p1.x << ", " << t.p1.y << ")" << endl;

  cout << "Point 2: (" << t.p2.x << ", " << t.p2.y << ")" << endl;

  cout << "Point 3: (" << t.p3.x << ", " << t.p3.y << ")" << endl;

  cout << "Side 1: " << t.side1 << endl;

  cout << "Side 2: " << t.side2 << endl;

  cout << "Side 3: " << t.side3 << endl;

  cout << "Angle 1: " << t.angle1 << endl;

  cout << "Angle 2: " << t.angle2 << endl;

  cout << "Angle 3: " << t.angle3 << endl;

  cout << "Area: " << t.area << endl;

}

这些代码将输出三角形的信息,包括点坐标、边长、角度和面积。

最终的代码如下:


#include <iostream>

#include <cmath>

using namespace std;

struct Point

  double x;

  double y;

;

struct Triangle

  Point p1;

  Point p2;

  Point p3;

  double side1;

  double side2;

  double side3;

  double angle1;

  double angle2;

  double angle3;

  double area;

;

// 计算边长

double distance(Point p1, Point p2) {

  double dx = p1.x - p2.x;

  double dy = p1.y - p2.y;

  return sqrt(dx * dx + dy * dy);

}

// 计算角度

double angle(double side1, double side2, double side3) {

  return acos((side1 * side1 + side2 * side2 - side3 * side3) / (2 * side1 * side2));

}

// 计算面积

double area(Triangle t) {

  double s = (t.side1 + t.side2 + t.side3) / 2;

  return sqrt(s * (s - t.side1) * (s - t.side2) * (s - t.side3));

}

// 输出三角形信息

void print(Triangle t) {

  cout << "Point 1: (" << t.p1.x << ", " << t.p1.y << ")" << endl;

  cout << "Point 2: (" << t.p2.x << ", " << t.p2.y << ")" << endl;

  cout << "Point 3: (" << t.p3.x << ", " << t.p3.y << ")" << endl;

  cout << "Side 1: " << t.side1 << endl;

  cout << "Side 2: " << t.side2 << endl;

  cout << "Side 3: " << t.side3 << endl;

  cout << "Angle 1: " << t.angle1 << endl;

  cout << "Angle 2: " << t.angle2 << endl;

  cout << "Angle 3: " << t.angle3 << endl;

  cout << "Area: " << t.area << endl;

}

int main() {

  Triangle t;

  t.p1.x = 0;

  t.p1.y = 0;

  t.p2.x = 0;

  t.p2.y = 1;

  t.p3.x = 1;

  t.p3.y = 0;

  t.side1 = distance(t.p1, t.p2);

  t.side2 = distance(t.p2, t.p3);

  t.side3 = distance(t.p3, t.p1);

  t.angle1 = angle(t.side1, t.side2, t.side3);

  t.angle2 = angle(t.side2, t.side1, t.side3);

  t.angle3 = angle(t.side3, t.side2, t.side1);

  t.area = area(t);

  print(t);

  return 0;

}

这段代码将输出以下信息:


Point 1: (0, 0)

Point 2: (0, 1)

Point 3: (1, 0)

Side 1: 1

Side 2: 1.41421

Side 3: 1.41421

Angle 1: 1.5708

Angle 2: 0.785398

Angle 3: 0.785398

Area: 0.5

这些信息描述的是以(0,0)、(0,1)和(1,0)为顶点的一个等腰直角三角形的信息。这个三角形的面积为0.5,边长分别为1和sqrt(2)。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复