Тестирование cin для нечисловых, ненулевых и неотрицательных значений и входной цикл. Не могу понять, почему тест на значения <= 0 порция не работает. он должен вывести: </p>
cout << "Invalid value input\n";
Заранее спасибо за то, что поймаете, что, вероятно, глупая ошибка.
#include <iostream>
using namespace std;
int main()
{
unsigned int integer;
cout<< "Enter a non negative number greater than 0: ";
cin>> integer;
do
{
while(!cin || integer <= 0)//validation condition
{
cout << "Invalid value input\n";
cin.clear();
cin.ignore(200, '\n');
cout<< "Enter a non negative number greater than 0: ";
cin>> integer;
}
cout<< "Enter a non negative number greater than 0: ";
cin>> integer;
} while(integer !=1);
return 0;
}