【发布时间】:2015-07-09 18:15:39
【问题描述】:
我正在用 C++ 制作一个计算器,它工作正常,除非我除以零。所以我有一个 if 语句说当一个数字被零除时给出消息“错误除以买零”。但是程序仍然崩溃。
这是我的代码
#include <iostream>
using namespace std;
int main()
{
int a, b, d, s;
d == a/b
cout << "Enter first number\n";
cin >> a;
cout << "Enter second number\n";
cin >> b;
cout << "Select the operation you want\n";
cout << "1.Addition\n";
cout << "2.Subtraction\n";
cout << "3.Multiplication\n";
cout << "4.Division\n";
cin >> s;
switch (s)
{
case 1: cout << "Addition Selected\n"; a+b << endl; break;
case 2: cout << "Subtraction Selected\n"; a-b << endl; break;
case 3: cout << "Addition Selected\n"; a*b << endl; break;
case 4:
if (b==0)
{
cout << "Error Divide by Zero"<< endl;
}
else
{
cout << d << endl;
}
break;
default: cout << "Invalid Selection" << endl;
}
return 0;
}
在我选择一个操作时,它并没有说它被选中。
【问题讨论】:
-
你能把真实的代码贴出来吗?
-
您似乎是在检查除以零之前执行除法。
-
这会崩溃,还是无法构建?就像@cad 说的那样,您在检查 b == 0 之前执行 a/b。但是您也没有将除法的结果分配给 d。您正在对未初始化的 d 和 a/b 进行比较
-
投票关闭,因为缺少示例,因为这不是真正的代码;它无法编译。
-
在您知道任何值或选择了哪个操作之前,
d == a/b在那里做什么?
标签: c++ calculator division