用c++编写函数,根据三边长度求取三角形面积(三边长度默认为3,4,5). 编写main函数对该函数进行测试,考虑不输入任何边长度、输入一条边长度、输入二条边长度和输入三条边长度几种情况下,分别输出函数计算后的面积,
时间: 2024-10-09 21:01:19 浏览: 89
C++实现判断三条边是否可以组成三角形
在C++中,我们可以使用海伦公式(Heron's formula)来计算三角形面积,它适用于已知任意三条边的情况。但是,题目给出的是直角三角形的边长,即3, 4, 和5(勾股定理),对于这样的情况,可以直接使用较小两条边的乘积除以2来简化计算。下面是相关的代码示例:
```cpp
#include <iostream>
// 直接计算直角三角形面积的辅助函数
double calculateTriangleArea(int a, int b) {
return static_cast<double>(a * b) / 2;
}
int main() {
// 默认直角三角形的边长
int sideA = 3;
int sideB = 4;
int hypotenuse = 5;
// 计算面积并输出
double area = calculateTriangleArea(sideA, sideB);
std::cout << "The area of the right triangle with sides 3, 4, and 5 is: " << area << std::endl;
// 考虑不同情况:
// 不输入任何边长
if (sideA == 0 || sideB == 0) {
std::cerr << "Error: At least one side length must be provided!" << std::endl;
} else {
area = calculateTriangleArea(sideA, sideB);
std::cout << "If only two sides are given: The area would still be: " << area << std::endl;
}
// 输入一条边长度
int singleSide = 6; // 假设用户输入
if (hypotenuse != 0 && sideA == 0 && sideB == 0) {
area = calculateTriangleArea(hypotenuse, hypotenuse - singleSide); // 假设是斜边和较小边
} else {
std::cerr << "Error: To find the area with a single side, both other sides must be known!" << std::endl;
}
// 输入两条边长度
int sideC = 6; // 另一边假设也是6
if (sideA == 0 || sideB == 0 || sideC == 0) {
std::cerr << "Error: All three sides must be provided to compute the area!" << std::endl;
} else {
area = calculateTriangleArea(sideA, sideC); // 假设是两个不相等的边
std::cout << "With two known sides and a different third: The area would be calculated as: " << area << std::endl;
}
return 0;
}
```
在这个示例里,`main`函数展示了如何根据直角三角形的不同情况计算面积,并处理了错误输入。
阅读全文