I have the following loop. It should read numbers until EndOfFile, or the user input -999

int arr[100];

int index;

for (index = 0; index < 100; index++)
{
 cin >> arr[index];
 if (!cin)
 {
  cin.clear();
  index--;
  continue;
 }
 if (arr[index] == -999)
 {
     break;
 }
}

When the user input an invalid thing, such as some chars, this loop is being repeated for ever without clearing the error state or stopping.

没有正确的解决方案

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top