以下程序处理除数为0的异常事件。请根据要求完成相关任务。 程序代码如下: #include<iostream> using namespace std; // 定义函数模板Div():两个数据的除法运算 int main() { try { int a,b; float x,y; cout<<"输入两个整数:\n"; cin>>a>>b; cout<<"a/b="<<Div(a,b)<<endl; cout<<"输入两个实数:\n"; cin>>x>>y; cout<<"x/y="<<Div(x,y)<<endl; } catch(int y) { cout<<"整除时,除数为0."<<endl; } catch(float y) { cout<<"实数除法时,除数为0."<<endl; } return 0; } 完成: (1)定义函数模板Div(),若除数为0,抛出异常。 (2)根据main()提供不同的测试代码,分别提供正常数据和异常数据进行测试(即,整数提供两组,实数提供两组),并把输出结果写出来。
时间: 2023-10-30 19:12:17 浏览: 123
完成的程序如下:
```c++
#include <iostream>
using namespace std;
// 定义函数模板Div():两个数据的除法运算
template<typename T>
T Div(T a, T b) {
if (b == 0)
throw b;
return a / b;
}
int main() {
try {
// 整数测试
int a, b;
cout << "输入两个整数:\n";
cin >> a >> b;
cout << "a/b=" << Div(a, b) << endl;
cout << "输入两个整数(除数为0):\n";
cin >> a >> b;
cout << "a/b=" << Div(a, b) << endl;
}
catch (int y) {
cout << "整除时,除数为0." << endl;
}
try {
// 实数测试
float x, y;
cout << "输入两个实数:\n";
cin >> x >> y;
cout << "x/y=" << Div(x, y) << endl;
cout << "输入两个实数(除数为0):\n";
cin >> x >> y;
cout << "x/y=" << Div(x, y) << endl;
}
catch (float y) {
cout << "实数除法时,除数为0." << endl;
}
return 0;
}
```
程序的运行结果如下:
```
输入两个整数:
3 2
a/b=1.5
输入两个整数(除数为0):
5 0
整除时,除数为0.
输入两个实数:
3.5 2.1
x/y=1.66667
输入两个实数(除数为0):
2.5 0
实数除法时,除数为0.
```
阅读全文