例题:
1.设计一个程序,根据输入的三边求三角形面积。
2.要求设置异常处理机制,对不符合三角形条件提示错误信息,不做计算;
对输入非正数的边提示错误,并重新输入。
代码如下:
class S { public: double s; S(double x, double y, double z) { a = x; b = y; c = z; } void TryS(); private: double a, b, c; }; void S::TryS() { try { if (a + b < c || a + c < b || b + c < a) { throw(a); } else { double p = (a + b + c) / 2; s = sqrt(p*(p - a)*(p - b)*(p - c)); cout << "该三角形的面积为" << s << endl; } } catch (double s) { cout << "输入的值不能构成三角形" << endl; } } int main() { S s1(4.3, 2.2, 3.6); s1.TryS(); S s2(1.0, 1.0, 3.0); s2.TryS(); return 0; }