使用类计算三角形面积,在类函数中判断如不能构成三角形抛出异常结束,否则可继续循环输入三角形三边计算,直到输入N/n结束,输入在主函数中进行
时间: 2024-05-09 21:15:04 浏览: 90
c++用函数写输入三边——判断三角形形状并计算面积周长
5星 · 资源好评率100%
以下是一个使用类计算三角形面积并处理异常的示例代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Triangle {
private:
double a, b, c;
public:
Triangle() {}
void setSides(double a, double b, double c) {
this->a = a;
this->b = b;
this->c = c;
}
bool isValid() {
return a + b > c && a + c > b && b + c > a;
}
double getArea() {
double s = (a + b + c) / 2;
return sqrt(s * (s - a) * (s - b) * (s - c));
}
};
int main() {
Triangle tri;
double a, b, c;
char ch;
do {
cout << "请输入三角形的三边长度:";
cin >> a >> b >> c;
tri.setSides(a, b, c);
if (!tri.isValid()) {
cout << "输入的三边长度无法构成三角形,请重新输入!" << endl;
continue;
}
cout << "该三角形的面积为:" << tri.getArea() << endl;
cout << "是否继续输入三角形的三边长度?(Y/N)";
cin >> ch;
} while (ch != 'n' && ch != 'N');
return 0;
}
```
在上述代码中,`Triangle` 类有三个私有成员变量 `a`、`b` 和 `c`,分别表示三角形的三条边。`setSides()` 函数可以设置这三条边的长度,`isValid()` 函数用于判断这三条边是否能够构成一个三角形,`getArea()` 函数可以计算三角形的面积。
在主函数中,我们使用一个 `do...while` 循环来反复读入三角形的三边长度,并根据输入的值判断是否继续循环。如果输入的三边长度无法构成三角形,则会抛出异常并要求重新输入。否则,程序会计算三角形的面积并输出结果。
阅读全文