Кто-нибудь знает, почему, когда я вводил более одного символа в «cInputCommandPrompt», он циклически повторяет «Нажмите« Y », чтобы продолжить, вместо того, чтобы просто показать его один раз, например, то, что я хотел бы сделать. очистка буфера - если это то, что вы называете, но это, похоже, не работает. Если кто-то может мне помочь, я буду очень признателен -переходит к началу, пока они не введут правильный. Ему просто не нравятся множественные вводы символов, которые я пытался отсортировать.
void ContinueOptions()
{
bool bValid = false;
char cInputCommandPrompt = 0;
do{
std::cout << "Press ""y"" to continue: ";
std::cin >> cInputCommandPrompt;
cInputCommandPrompt = std::toupper(static_cast<unsigned char>(cInputCommandPrompt));
if (!std::cin >> cInputCommandPrompt)
{
std::cin.clear();
std::cin.ignore(100);
std::cout << "Please try again.";
}
else if (cInputCommandPrompt == 'Y')
{
bValid = true;
}
}while(bValid == false);
std::cout << "\n";
}