输入2 0时,输出Divided by zero!
时间: 2024-03-10 17:46:06 浏览: 17
好的,那么可以将函数division的异常抛出改为字符串"Divided by zero!"。修改后的代码如下:
```c++
double division(int x, int y) {
if (y == 0) {
throw "Divided by zero!";
}
return (double)x / y;
}
```
这样,在输入2 0时,程序会抛出这个异常,然后被catch语句捕获并输出"Divided by zero!"。
相关问题
编写一个简单计算器程序,可根据输入的运算符,对2个数进行加 减、乘、除运算。 在一行中依次给出运算数1、运算符、运算数2,其间不留空格。运算符为+、-、*与/中的任意一个。 输出一个实数,保留2位小数。如果输入了错误的运算符号,则输出 Incorrect 0perator!。对除法运算,如果输入的运算数2的绝对值是个近似于e(小于10-5)的数,则输出Divided by zero!。
以下是计算器程序的代码实现,支持加减乘除运算:
```
#include <cstdio>
int main() {
double a, b, result;
char operation;
scanf("%lf%c%lf", &a, &operation, &b);
switch(operation) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if(b > -1e-5 && b < 1e-5) {
printf("Divided by zero!\n");
return 0;
}
result = a / b;
break;
default:
printf("Incorrect operator!\n");
return 0;
}
printf("%.2lf\n", result);
return 0;
}
```
如果输入的运算符号不是 `+`、`-`、`*` 或 `/` 中的任意一个,则输出 `Incorrect operator!`。如果输入的运算符为 `/`,则需要判断除数是否为0,如果绝对值小于 $10^{-5}$,则输出 `Divided by zero!`。最后输出运算结果,保留两位小数。
如输入:10.2+8.8,输出:19.00
如果输入:10/0.00001,输出:Divided by zero!
如果输入:10,8/6,则输出:Incorrect operator!
给出#include <iostream> using namespace std; /* 请在这里填写答案 */ int main () { int x,y; double z = 0; cin>>x>>y; try { z = division(x, y); cout << z << endl; }catch (const char* msg) { cout << msg << endl; } return 0; } 当输入2 0时,获得的输出为Divided by zero! 请给出需要填入的代码
根据程序需要实现的功能,需要填写一个名为division的函数,用于计算两个整数的商,并在除数为0时抛出异常。
以下是一个可能的实现:
```c++
double division(int x, int y) {
if (y == 0) {
throw "Divided by zero!";
}
return (double)x / y;
}
```
这里使用了异常处理机制来处理除数为0的情况,如果除数为0,则抛出一个字符串类型的异常,提示"Divided by zero!"。
在主函数中,使用try-catch语句来捕获这个异常,并输出提示信息。如果除数不为0,则正常计算并输出结果。
所以,需要填写的代码就是上面的division函数。