Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“提神”;一个字符串变量,使该多选while循环不';不要无限重复 所以我是C++新手,我是一个入门课程,明天的作业是写一个程序,有5个问题,一些选择,一些是真的或假的。p>_C++_Variables_While Loop_Infinite Loop - Fatal编程技术网

&引用;“提神”;一个字符串变量,使该多选while循环不';不要无限重复 所以我是C++新手,我是一个入门课程,明天的作业是写一个程序,有5个问题,一些选择,一些是真的或假的。p>

&引用;“提神”;一个字符串变量,使该多选while循环不';不要无限重复 所以我是C++新手,我是一个入门课程,明天的作业是写一个程序,有5个问题,一些选择,一些是真的或假的。p>,c++,variables,while-loop,infinite-loop,C++,Variables,While Loop,Infinite Loop,现在我正在做第一道选择题,它必须有4个可能的答案(a,b,c,d),条件是: 如果用户输入了正确的字母选择,它将继续下一个问题 如果用户输入了错误的字母选择,它会告诉用户他们错了,并再次向用户提问 如果用户输入4个字母以外的任何内容,它将显示一个无效的输入错误,并再次向他们提问 在输入正确答案之前,将出现2和3 我尝试使用while循环(我认为这是一种方法?),然后在其中使用嵌套的if/else语句 我遇到的问题是,Q1字符串变量在输入时是在开始时实例化的,之后不能更改。使循环要么通过(如果回答

现在我正在做第一道选择题,它必须有4个可能的答案(a,b,c,d),条件是:

  • 如果用户输入了正确的字母选择,它将继续下一个问题
  • 如果用户输入了错误的字母选择,它会告诉用户他们错了,并再次向用户提问
  • 如果用户输入4个字母以外的任何内容,它将显示一个无效的输入错误,并再次向他们提问
  • 在输入正确答案之前,将出现2和3

    我尝试使用while循环(我认为这是一种方法?),然后在其中使用嵌套的if/else语句

    我遇到的问题是,Q1字符串变量在输入时是在开始时实例化的,之后不能更改。使循环要么通过(如果回答正确)要么无限重复

    我如何刷新变量,使其不重复,或者用完全不同的更好的方法来完成?就像我说的,我是新来的,所以如果我做了一些愚蠢或错误的事情,请原谅我

    这是我目前的代码,到目前为止只有一个问题:

    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
        string Q1;
        cout << "How many ounces are in 1 cup?" << endl;
        cout << "A. 12 \nB. 8 \nC. 16 \nD. 4" << endl;
        cin >> Q1;
    
        while (Q1 != "B") {
            if (Q1 == "A" || Q1 == "C" || Q1 == "D"){
                cout << "Your selected answer " << Q1 << " is incorrect, please select another answer" << endl;
            }
            else {
                cout << "Your answer is invalid, please enter either A, B, C, or D." << endl;
            }
    
        }
        cout << "Correct! There are 8 ounces in one cup" << endl;
    }
    
    #包括
    #包括
    使用名称空间std;
    int main()
    {
    字符串Q1;
    
    cout在您的代码中有一个无限循环。您不再要求用户输入。您需要将
    cin>>Q1
    添加到循环末尾:

    while (Q1 != "B") {
         if (Q1 == "A" || Q1 == "C" || Q1 == "D"){
             cout << "Your selected answer " << Q1 << " is incorrect...
         }
         else {
             cout << "Your answer is invalid, please enter either...
         }
         cin >> Q1;
    }
    
    while(Q1!=“B”){
    如果(Q1==“A”| | Q1==“C”| | Q1==“D”){
    cout
    while(cin>>Q1)
    {
    如果(Q1=“B”)
    {
    
    能不能嗯
    cin>>Q1;
    在循环的最后?@NathanOliver哇,我觉得真的很愚蠢,真的很简单。出于某种原因,我在想象当被重新问这个问题时,它也必须重新问可能的答案,但这真的毫无意义。谢谢!
    while (cin>>Q1) 
    {
                    if(Q1 == "B")
                    {
                        cout << "Next question\n";
                        break;
                    }
                    if (Q1 == "A" || Q1 == "C" || Q1 == "D"){
                        cout << "Your selected answer " << Q1 << " is incorrect, please select another answer" << endl;
                    }
                    else {
                        cout << "Your answer is invalid, please enter either A, B, C, or D." << endl;
                    }
      }