我正在尝试编写一个C ++程序:
我写道:
#include <iostream>
using namespace std;
main()
{
char c = A, a, b, B;
cout << "Question?(a/b)" << endl;
cin >> c;
while ("You must answer a or b") {
cin >> c;
}
if ( c = A || a )
cout << "You chose a!" << endl;
if ( c = B || b )
cout << "You chose b!" << endl;
}
我知道那些带有&#34;如果&#34;是完全错的,但我不明白该怎么做......
答案 0 :(得分:3)
字符串"You must answer a or b"
的真值永远不会改变。您要检查的是c
的值,并确保它是a
或b
。您可以使用while(c != 'a' && c != 'b')
同样对于if语句,您使用的是不存在或未初始化的变量。 a
,B
和b
未初始化,而A
不存在。无论哪种方式,你都不需要它们。
此外,||
运算符不能像那样工作。你需要每一方都有真值。因此,您应该执行if(c == 'a' || c == 'b')
答案 1 :(得分:1)
也许,这段代码可以帮到你:
#include <iostream>
using namespace std;
int main()
{
char c;
do {
cout << "Choose 'a' or 'b' (to quit enter 'q'):" << endl;
cin >> c;
if ((c == 'a') || (c == 'b'))
{
cout << "You chose " << c << endl;
}
} while (c != 'q');
return 0;
}