我是个编程新手,我正在尝试用嵌套的if
语句做一个长的do while
循环,但是我在让我的循环真正循环时遇到了问题。
我没有直接从我的项目中获得帮助,而是做了一个简单的like it版本。它也不会循环。它将到达最后,并询问用户是否要重试,但当输入"y“时,它会忽略if语句。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string sodaChoice;
char answer = 'n';
do
{
cout << "Please choose your favorite soda from the following: Rootbeer, Diet Coke, Coke, Sprite" << "\n";
getline(cin, sodaChoice);
if (sodaChoice == "Rootbeer")
{
cout << "Me too!" << "\n";
}
else if (sodaChoice == "Diet")
{
cout << "Not me :(" << "\n";
}
else if (sodaChoice == "Coke")
{
cout << "It's alright" << "\n";
}
else if (sodaChoice == "Sprite")
{
cout << "only if I'm sick" << "\n";
}
else
{
cout << "That was not on the list";
}
cout << "would you like to try again?";
cin >> answer;
} while (answer == 'y'|| answer == 'Y');
return 0;
}
我想也许我需要在if语句周围的do循环中使用do循环,但是我不知道该怎么做。任何帮助都将不胜感激。我花了很多很多时间试图弄清楚这一点。
我试着问我的老师,但我的大学教授的是他们的院长根据她的书写的一些通用课程。他对帮助或教学不是很热心。
编辑:感谢大家的回答!至于这是一个重复的问题,我还没有学习过cin.ignore,所以我没有意识到它与我的问题相关。感谢大家对我的教导!
https://stackoverflow.com/questions/52717083
复制相似问题