You can use the
scanf() function[
^] which allows you to specify what you are expecting as input:
#include <iostream>
#include <cstdio>
unsing namespace std;
int main() {
int lowNum, returnValue;
do {
cout << "Please enter your low number (only use numbers 1 - 256): ";
returnValue = scanf("%3d", &lowNum);
} while (returnValue != 1 || lowNum < 1 || lowNum > 256);
return 0;
}
Or you can do that keeping
cin
if you need/want to:
#include <iostream>
#include <limits>
using namespace std;
int main() {
int lowNum;
cout << "Please enter your low number (only use numbers 1 - 256): ";
while (!(cin >> lowNum) || lowNum < 1 || lowNum > 256) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "Please only enter numbers between 1 and 256: ";
}
return 0;
}
Hope this helps. Kindly.