Код, который вы разместили, не компилируется. В нескольких местах вы ссылаетесь на переменную valueEntered
, даже не объявив ее.
Кроме того, следующая конструкция не имеет смысла:
if (valueEntered == -1)
{
[...]
}
else if (valueEntered != -1)
{
[...]
Поскольку выражение условия для второго, если оператор является точным отрицанием выражения условия первого оператора, второй оператор if является излишним и может быть удален, например:
if (valueEntered == -1)
{
[...]
}
else
{
[...]
Однако, поскольку вы заявили в своем вопросе, что что-то еще, кроме положительное целое число (не только -1) должно привести к завершению вашей программы, вам нужно изменить эту часть вашей программы на следующую:
if (valueEntered <= 0)
{
continueReading = false;
}
else
{
array[arrayPosition] = valueEntered;
arrayPosition++;
}
Кроме того, как уже было сказано кем-то еще в раздел комментариев, строка
while ((continueReading==true) || (arrayPosition >= CAPACITY));
должна быть изменена на
while ( continueReading && arrayPosition < CAPACITY )
и строка
numElements = (arrayPosition+1);
следует изменить на
numElements = arrayPosition;