Проблема с циклом проверки ввода
Я успешно добился того, чтобы моя проверка работала, но когда они вводят любой символ, который не является целым числом, он печатает приглашение ввода дважды. Как сделать так, чтобы это печаталось только один раз? Я уверен, что это очень простое решение, но я использую c++ всего несколько недель.
// Unit 5.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <iomanip> #include <string> using namespace std; int main() { int lowNum; cout << "Please enter your low number (only use numbers 1 - 256): "; cin >> lowNum; while (lowNum < 1 || lowNum > 256) { cout << "Please only enter numbers between 1 and 256: "; cin >> lowNum; if (cin.fail()) cin.clear(); cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); } return 0; }
Что я уже пробовал:
Я перепробовал все, что знаю, но мне не хватает знаний, чтобы решить эту проблему.