Вы должны написать цикл следующим образом:
while(cin >> numbers[index])
index++;
Он будет читать все целые числа, пока вы не введете неправильный ввод, будь то 'x'
или любой другой символ.Теперь, если вы хотите пропустить все недопустимые входные данные и продолжить чтение целых чисел (которые могут быть после недопустимых входных данных) и хотите рассмотреть только 'x'
для выхода из цикла, то оберните вышеуказанный цикл другим циклом в виде:
char ch;
do
{
while(cin >> numbers[index])
index++;
cin.clear(); //clear the error flags, so you can use cin to continue reading
cin >> ch; //read the invalid character
} while(ch != 'x');
Один совет: предпочитайте использовать std::vector<long int>
вместо long int numbers[100]
.Что, если пользователь ввел более 100
целых чисел, то ваша программа будет повреждена.