Я новичок в кодировании, и я пытаюсь сделать цикл do while
while с вложенными операциями if
но у меня возникают проблемы с тем, чтобы мой цикл был на самом деле.
Вместо того, чтобы получать помощь непосредственно в моем проекте, который имеет очень длинный код, я сделал простой вариант, похожий на его версию. Он также не работает. Он дойдет до конца и спросит пользователя, хотят ли они повторить попытку, но когда "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 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;
}
Я подумал, может быть, мне нужен цикл do в цикле do вокруг операторов if, но потом я не знал, как это сделать. Любая помощь будет оценена по достоинству. Я потратил много и много часов, пытаясь понять это.
Я пытался спросить моего учителя, но мой колледж учит из какой-то общей учебной программы, которую их декан написал на основе ее книги. Он не в восторге от помощи или обучения.
EDIT: Спасибо всем за ответы! Что касается дублирующего вопроса, я еще не изучил cin.ignore, поэтому я не знал, что это имеет отношение к моей проблеме. Спасибо всем, что учил меня!