我被要求制作一个程序,读取字母代码A到Z并打印相应的电话号码。 该程序使用哨兵控制的while循环。要停止程序,系统会提示用户输入 哨兵,#。例如MIU = 648(就像旧的诺基亚手机一样) 其中2 =(A,B,C)
这是我的代码,但问题是它只有cout的“2”..任何想法为什么会这样?
int main() {
char x;
cin >> x;
while (x != '#') {
if (x == 'A', 'B', 'C')
cout << 2;
else if (x == 'G', 'H', 'I')
cout << "4";
else if (x == 'M', 'N', 'O')
cout << 6;
else if (x == 'T', 'U', 'V')
cout << 8;
else if (x == 'D', 'E', 'F')
cout << 3;
else if (x == 'J', 'K', 'L')
cout << 5;
else if (x == 'P', 'Q', 'R', 'S')
cout << 7;
else if (x == 'W', 'X', 'Y', 'Z')
cout << 9;
cin >> x;
}
}
答案 0 :(得分:2)
您无法在C ++中使用res.send(pug.renderFile("./pugs/register.pug",{}))
运算符。
,
此代码的评估方式如下:
if (x == 'A', 'B', 'C')
cout << 2;
为真/假,然后扔掉结果。
然后它会评估x == 'A'
然后抛弃它。
然后它将评估B
,并将给予if。
你需要做
C
如何在if语句中有时使用if (x == 'A' || x == 'B' || x == 'C')
cout << 2;
就像这样。
,
答案 1 :(得分:0)
在这里,您使用 OR运算符而不是逗号&#39; 。我正在修改您的代码&amp;附上了该程序的截图。 请尝试以下代码。
#include<stdio.h>
#include<iostream>
using namespace std;
int main() {
char x;
cin >> x;
while (x != '#') {
if (x == 'A' || x == 'B' || x == 'C')
cout << 2;
else if (x == 'G' || x == 'H' || x == 'I')
cout << "4";
else if (x == 'M' || x == 'N' || x == 'O')
cout << 6;
else if (x == 'T' || x == 'U' || x == 'V')
cout << 8;
else if (x == 'D' || x == 'E' || x == 'F')
cout << 3;
else if (x == 'J' || x == 'K' || x == 'L')
cout << 5;
else if (x == 'P' || x == 'Q' || x == 'R' || x == 'S')
cout << 7;
else if (x == 'W' || x == 'X' || x == 'Y' || x == 'Z')
cout << 9;
cin >> x;
}
return 0;
}