В части моего кода есть оператор gets()
внутри цикла, который должен запрашивать ввод при каждом итерации. Тем не менее, он только запрашивает ввод один раз и не запрашивает снова, когда цикл запускается снова, как будто какой-то ввод уже сделан. Это действительно раздражает, потому что, похоже, что-то не так.Оператор gets() в цикле запрашивает ввод только один раз
while(5) {
cout<<"Is your number "<<x<<" ?\n[yes/no]\n";
gets(ans);
if (strcmpi(ans,"yes")==0)
break;
}
Обратите внимание, что 'gets' был удален из C++ 14 и более поздних версий. Вы должны переключиться на 'getline', если вы работаете со строками или просто используете' >> ' – NathanOliver
@ sleekmaster292. Как получается, что даже не поддерживается стандартом C, связанным с C++? –
[mcve] пожалуйста. Кроме того, не используйте 'strcmpi'. '==' отлично работает для строк – AndyG