c++ - 为什么这个应该请求操作然后进行必要计算的代码不起作用
问题描述
include using namespace std;
int main() {
float n1, n2, sum, diff, pro, quot;
char f;
cout << "PLease enter your function(A,S,D,M or X to end the program" << endl;
cin >> f;
while (f != 'A', 'S', 'D', 'M', 'X') {
cout << "Invalid Operation" << endl;
cout << "PLease enter your function(A,S,D,M or X to end the program"
<< endl;
cin >> f;
}
if (f == 'X') return 0;
if (f == 'A', 'S', 'D', 'M') {
cout << "Please enter two numbers";
cin >> n1 >> n2;
if (f == 'A') {
sum = n1 + n2;
cout << sum;
}
else if (f == 'S') {
if (n1 > n2) {
diff = n1 - n2;
cout << diff;
} else {
diff = n2 - n1;
cout << diff;
}
} else if (f == 'D') {
if (n1 > n2) {
quot = n1 / n2;
cout << quot;
} else {
quot = n2 / n1;
cout << quot;
}
} else if (f == 'M') {
pro = n1 * n2;
cout << pro;
}
}
return 0;
}
它不接受 A,S,M,D
解决方案
你的while
说法是问题所在。它使用逗号表达式,这不是您想要的,因为它最终评估为“X”。您需要分别比较f
每个选项。
实现此目的的一种方法是将while
语句中的比较扩展为类似
while (f != 'A' && f != 'S' && f != 'D' && f != 'M' && f != 'X')
{
...
}
if
您在下面几行的陈述也是如此。
推荐阅读
- ios - 在 Swift 中,我如何知道单词是否包含在 UILabel 中
- python-3.x - Python 3 Pandas,将数据附加到现有的 Excel 工作表
- python - Web-scraping:访问大列表中的文本信息
- vue.js - 父更新时VUE Js子不更新
- visual-studio - 在 Visual Studio 2020 中构建时,在第一次构建错误时停止而不安装任何扩展
- linux - 将 PDF 与文件名中的空格结合起来
- python - 如何获得数字 = [“12”、“145”、“45”、“12.4”、“45,14”、“15 645”] 数字
- windows-subsystem-for-linux - 如何从另一个访问 WSL 实例?
- javascript - 如何合并两个文件夹树
- javascript - 有没有办法为桌面而不是移动调用服务器端包含?