Я пытаюсь закодировать семейную феодальную игру, и я хочу знать, как остановить повторные ответы? как в этом коде, я мог продолжать писать «ошибки», и цикл будет продолжаться.как я могу перестать повторять ответы в этом вопросе?
void f()
{
int y=0;
string q[17];
string ans1[4];
ans1[0]= "bears";
ans1[1]="bugs";
ans1[2]= "snakes";
ans1[3]="skunks";
string ans;
int sum=0;
q[0]="Name something you try to avoid when camping in the woods.";
cout << q[0] << endl;
for (int a=0; a<7; a++)
{
int b;
getline(cin,ans);
if (ans==ans1[0]||ans==ans1[1]||ans==ans1[2]||ans==ans1[3])
{
if (ans==ans1[0])
{
b=42;
cout << "SURVEY SAYS " << b << "! Good Job! " << endl; sum=sum+b;
}
else if (ans==ans1[1])
{
b=33;
cout << "SURVEY SAYS " << b << "! Nice one man! " << endl; sum=sum+b;
}
else if (ans==ans1[2])
{
b=20;
cout <<"SURVEY SAYS " << b << "! Fantastic man!"<< endl; sum=sum+b;
}
else if (ans==ans1[3])
{
b=5;
cout << "SURVEY SAYS " << b << "! You Got it!" << endl; sum=sum+b;
}
}
else if (ans!=ans1[0]&&ans!=ans1[1]&&ans!=ans1[2]&&ans!=ans1[3])
{
cout << "YOU GOT THIS ONE WRONG! "<< endl; y++;
if (y==3) { cout << "LOOOOSER" << endl; break;}
}
}
cout << " your total score for
этот раунд "< < < < сумма епсИ;. }
, если вы думаете о своих ответах как список «правильных ответов, которые еще не догадались», когда допустимый ответ угадан, его необходимо удалить из списка. либо помещайте каждый ответ в контейнер (вектор на один дед), и удаляйте каждый угаданный, или каким-либо образом отмечайте каждый угаданный ответ, а не проверяйте его снова. тест на правильные ответы должен зацикливаться на списке допустимых ответов; существующий тест не будет работать хорошо. другой момент: тест «else if» не помогает: внешние, если тесты, чтобы проверить, правильно ли ответил какой-либо ответ; если этот тест терпит неудачу, else должен быть правдой, поэтому не нужно делать все тесты! = – ryonts