Witam ma pętle w której chce sprawdzić czy użytkownik poda odpowiedzią opcje w menu. I mam warunek który ma wywalić błąd jeśli nie znajduje się ta liczba w przedziale i jeśli omyłkowo użytkownik podał literę. I tu pojawia się mój problem bo na liczbach wszystko działa poprawnie a jak wpisze literę pętla się nie kończy.
do {
std::cin >> choice;
if ((choice < 1 || choice > 5) || isalpha(choice))
std::cerr << "Nie wlasciwy przedzial" << std::endl;
} while ( (((choice <= 5) && (choice >= 1)) != true) && isalpha(choice) == false);