如何在c++;没有数字? 我试图编写一个C++程序: 询问“问题?(a/b)” 从输入读取字符变量 如果变量的值为a,则打印“您选择了a!” 如果变量的值为b,则打印“您选择了b!” 在其他情况下,打印“您必须回答a或b”,然后从第一个问题开始

如何在c++;没有数字? 我试图编写一个C++程序: 询问“问题?(a/b)” 从输入读取字符变量 如果变量的值为a,则打印“您选择了a!” 如果变量的值为b,则打印“您选择了b!” 在其他情况下,打印“您必须回答a或b”,然后从第一个问题开始,c++,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

我写道:

    #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;
   }
#包括
使用名称空间std;
main()
{
字符c=A,A,b,b;
coutc;
while(“您必须回答a或b”){
cin>>c;
}
if(c=A | | A)

cout字符串的真值
“您必须回答a或b”
永远不会改变。您要检查的是
c
的值,并确保它是
a
b
。您可以使用
while(c!=“a”&&c!=“b”)来实现这一点

同样对于if语句,您使用的变量不存在或未初始化。
a
B
B
未初始化,而
a
不存在。无论哪种方式,您都不需要它们


另外,
|
操作符不是这样工作的。每边都需要一个真值。因此,如果(c='a'| c='b')

可能,此代码应该可以帮助您:

#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;
}
#包括
使用名称空间std;
int main()
{
字符c;
做{
coutc;
如果((c='a')| |(c='b'))
{

难道我不知道你可能会认为我没有做任何努力,因为这些事情对你来说似乎很容易,但我是,这真的很难!因此,请不要降低我的问题的等级,你能帮我吗?请不要要求其他人做你的作业。标题甚至与问题的主体不匹配。此代码似乎在几乎每个sta中都有问题陈述。让我们从头开始。你能解释一下(我的意思是,尽可能详细地描述你对这个问题的理解)吗您编写的语句“
char c=A,A,b,b;
”…?请启用所有编译器警告,并首先学习该语言,而不是通过猜测进行编程。此代码中唯一正确的内容是
cin
cout
行。实际上,变量
A,b,b
确实存在。无论如何,变量
A
不存在t、 所以初始值设定项
c=A
甚至不应该编译…!(但OP可能没有意识到这一点。)