While循环总是执行一次,但在第二次时工作正常。帮助[c++] 我在C++中有一个while循环问题。while循环总是在第一次执行,但是当程序到达while循环的cin时,while循环工作得很好,我想知道我做错了什么。提前谢谢。如果问题是noobish,我也很抱歉。我还是个初学者 cout<<"Would you like some ketchup? y/n"<<endl<<endl<<endl; //Ketchup selection screen cin>>optketchup; while (optketchup != "yes" && optketchup != "no" && optketchup != "YES" && optketchup != "Yes" && optketchup != "YEs" && optketchup != "yEs" && optketchup != "YeS" && optketchup != "yeS" && optketchup != "YeS" && optketchup != "yES" && optketchup != "y" && optketchup != "Y" && optketchup != "No" && optketchup != "nO" && optketchup != "NO" && optketchup != "n" && optketchup != "No"); { cout<<"You have entered an entered "<<optketchup<<" which is an invalid option. Please try again."<<endl; cin>>optketchup; } if (optketchup == "yes" || optketchup == "YES" || optketchup == "Yes" || optketchup == "YEs" || optketchup == "yEs" || optketchup == "YeS" || optketchup == "yeS" || optketchup == "YeS" || optketchup == "yES" || optketchup == "y" || optketchup == "Y") { slcketchup == "with"; } else { slcketchup == "without"; } cout<<"Your sandwich shall be "<<slcketchup<<" ketchup."<<endl; system ("pause");

While循环总是执行一次,但在第二次时工作正常。帮助[c++] 我在C++中有一个while循环问题。while循环总是在第一次执行,但是当程序到达while循环的cin时,while循环工作得很好,我想知道我做错了什么。提前谢谢。如果问题是noobish,我也很抱歉。我还是个初学者 cout<<"Would you like some ketchup? y/n"<<endl<<endl<<endl; //Ketchup selection screen cin>>optketchup; while (optketchup != "yes" && optketchup != "no" && optketchup != "YES" && optketchup != "Yes" && optketchup != "YEs" && optketchup != "yEs" && optketchup != "YeS" && optketchup != "yeS" && optketchup != "YeS" && optketchup != "yES" && optketchup != "y" && optketchup != "Y" && optketchup != "No" && optketchup != "nO" && optketchup != "NO" && optketchup != "n" && optketchup != "No"); { cout<<"You have entered an entered "<<optketchup<<" which is an invalid option. Please try again."<<endl; cin>>optketchup; } if (optketchup == "yes" || optketchup == "YES" || optketchup == "Yes" || optketchup == "YEs" || optketchup == "yEs" || optketchup == "YeS" || optketchup == "yeS" || optketchup == "YeS" || optketchup == "yES" || optketchup == "y" || optketchup == "Y") { slcketchup == "with"; } else { slcketchup == "without"; } cout<<"Your sandwich shall be "<<slcketchup<<" ketchup."<<endl; system ("pause");,c++,C++,再次感谢您。执行一行代码的控制语句可以用两种不同的方式编写 if (optketchup == "yes") { slcketchup = "with"; } 以下代码也是有效的;区别在于,当optketchup等于yes时,没有任何要执行的指令 对于其他控制语句,例如while,也是如此 另外,=是赋值运算符,而==是比较运算符。当您想使用第一个时,您正在使用后者。 然后,正如其他人已经指出的,只需将optketchup转换为小写:您只需要将小写值与yes进行比较,而不是检查使用小写/大

再次感谢您。执行一行代码的控制语句可以用两种不同的方式编写

if (optketchup == "yes") {
  slcketchup = "with";
}
以下代码也是有效的;区别在于,当optketchup等于yes时,没有任何要执行的指令

对于其他控制语句,例如while,也是如此

另外,=是赋值运算符,而==是比较运算符。当您想使用第一个时,您正在使用后者。
然后,正如其他人已经指出的,只需将optketchup转换为小写:您只需要将小写值与yes进行比较,而不是检查使用小写/大写混合字符编写的yes的任何可能变体。

执行一行代码的控制语句可以用两种不同的方式编写

if (optketchup == "yes") {
  slcketchup = "with";
}
以下代码也是有效的;区别在于,当optketchup等于yes时,没有任何要执行的指令

对于其他控制语句,例如while,也是如此

另外,=是赋值运算符,而==是比较运算符。当您想使用第一个时,您正在使用后者。
然后,正如其他人已经指出的那样,只需将optketchup转换为小写:您只需要将小写值与yes进行比较,而不是检查使用小写/大写混合字符编写的yes的任何可能变体。

您有一个分号“;”一会儿。这就是问题的根源

不要写

while(.... lots of conditions ...);
{
    //stuff
}

注意到缺少的信息;在第二个

除此之外,如果你必须检查“肺炎”一词,显微镜下硅溶胶锥虫病怎么办。您最终会检查多少个大写和小写组合?
相反,将输入转换为大写字母,并与大写字母YES或NO或Planemoultramicroscopicsilicovolcanoconiosis进行比较。

您有一个分号“;”一会儿。这就是问题的根源

不要写

while(.... lots of conditions ...);
{
    //stuff
}

注意到缺少的信息;在第二个

除此之外,如果你必须检查“肺炎”一词,显微镜下硅溶胶锥虫病怎么办。您最终会检查多少个大写和小写组合?
相反,将输入转换为大写字母,并与大写字母是或否或肺炎显微镜下硅溶胶锥虫病进行比较。

什么类型是optketchup?另外,你需要一个等号来赋值,而且家庭作业标签已被弃用。简单地将字符串转换为小写或大写,然后只测试是或是、否或否,比测试每个大写/小写字母组合要明智得多。不仅仅是他在测试每个&每个大写/小写组合,不是一次,而是两次。在所有这些测试之后,他会非常累,需要三明治。不需要显示完整的代码:您显示的代码已经足够了,并且独立于其他代码。optketchup是什么类型的?另外,你需要一个等号来赋值,而且家庭作业标签已被弃用。简单地将字符串转换为小写或大写,然后只测试是或是、否或否,比测试每个大写/小写字母组合要明智得多。不仅仅是他在测试每个&每个大写/小写组合,不是一次,而是两次。在所有这些测试之后,他会很累,需要那个三明治。不需要显示完整的代码:您显示的代码已经足够了,并且独立于其他代码。谢谢!==和=的问题也把事情搞砸了。但是用户93353解决了主要错误,但仍然非常感谢您谢谢你!==和=的问题也把事情搞砸了。但是用户93353解决了主要错误,但仍然非常感谢您你说得对!非常感谢你。我一定是把它放错了。非常感谢,它现在可以工作了!谢谢你说得对!非常感谢你。我一定是把它放错了。非常感谢,它现在可以工作了!谢谢D
while(.... lots of conditions ...)
{
    //stuff
}