编写一个程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。提示:#include<math>#include <iostream>using namespace std;double Sq(double x){if (x < 0)throw x;return sqrt(x);}
时间: 2024-02-16 13:59:44 浏览: 78
C语言判断一个整数是否为素数.zip
好的,以下是一个求输入数平方根的程序,其中包括异常处理:
```cpp
#include <iostream>
#include <math.h>
using namespace std;
double Sq(double x){
if (x < 0) {
throw "输入数为负数!";
}
return sqrt(x);
}
int main() {
double x;
cout << "请输入一个数:";
cin >> x;
try {
double result = Sq(x);
cout << "平方根为:" << result << endl;
}
catch(const char* msg) {
cerr << "错误: " << msg << endl;
}
return 0;
}
```
在这个程序中,我们定义了一个函数`Sq`,用于计算输入数的平方根。如果输入数为负数,我们使用`throw`语句抛出一个字符串异常。在`main`函数中,我们使用`try`语句块来调用`Sq`函数。如果函数执行成功,我们输出结果;否则,我们使用`catch`语句块来捕获并输出异常信息。
注意,在`catch`语句块中,我们使用了`const char*`类型的异常类型,这是因为我们在`throw`语句中抛出的是一个字符串常量。如果我们抛出的是一个数值类型异常,如在`Sq`函数中抛出的`x`,我们可以使用相应的数值类型作为异常类型,如`double`。
阅读全文