c++ - 除以零时如何显示错误c ++
问题描述
我正在尝试创建简单的计算器。它适用于除“/”之外的每个运算符。但是当 num2 = 0 时程序完全停止。我尝试使用条件语句在 num2 = 0 时输出错误消息,但它不起作用。
这是代码
#include <iostream>
#include <stdexcept>
using namespace std;
int SumNum(int& a, int& b);
int SubNum(int& a, int& b);
int DivNum(int& a, int& b);
int MulNum(int& a, int& b);
int main()
{
char op;
int* num1 = new (nothrow) int;
int* num2 = new (nothrow) int;
cout << "Enter operator either + or - or * or /: ";
cin >> op;
cout << "Enter first operand: ";
cin >> *num1;
cout<< "Enter second operand: ";
cin >> *num2;
switch (op)
{
case '+':
cout << "Result is : " << SumNum(*num1, *num2) << endl;
break;
case '-':
cout << "Result is : " << SubNum(*num1, *num2) << endl;
break;
case '/':
cout << "Result is : " << DivNum(*num1, *num2) << endl;
break;
case '*':
cout << "Result is : " << MulNum(*num1, *num2) << endl;
break;
default:
cout << "Incorrect operator";
break;
}
return 0;
}
int SumNum(int& a, int& b) {
return a + b;
}
int SubNum(int& a, int& b) {
return a - b;
}
int DivNum(int& a, int& b) {
return a / b;
}
int MulNum(int& a, int& b) {
return a * b;
}
解决方案
您可以使用以下内容更改除法大小写:
case '/':
if (*num2 == 0) {
cout << "Error: You can't divide by 0!" << endl;
break;
}
cout << "Result is : " << DivNum(*num1, *num2) << endl;
break;
推荐阅读
- python - KERAS ValueError:使用序列设置数组元素
- django - Author_name 未出现在 Django 联合 rss 提要中
- javascript - 使用 javascript xhttp 的 Json 到数组
- amazon-web-services - AWS::Serverless::Function SES 在 CloudFormation 中发送邮件策略
- git - Git尝试将代码与目标分支中已有的代码合并
- java - Android Studio,将应用程序运行到移动设备后,它替换了最后一个应用程序,依此类推(那些应用程序不同)
- ruby - Ruby“gem”命令失败,Permission denied @ rb_sysopen
- ios - 如何正确覆盖 UITableViewController 子类的 init()?
- python - 为什么并发期货比我的循环慢?
- css - Webpack 4:文件加载器不加载 .css 或 .scss 文件中的资产