2013-07-28 2 views
2

Я просто хочу, чтобы пользователь вводил некоторые цифры. Если число равно -1, программа останавливается, а затем выводит те же самые числа. Почему это так сложно? Я не понимаю, почему логика здесь не работает.C++: Сохранение пользовательских входов

Например, когда пользователь:

1 2 3 -1 

Программа должна затем распечатать: -1

#include <iostream> 

using namespace std; 

int main() 
{ 
    int input, index=0; 
    int array[200]; 

    do 
    { 
     cin >> input; 
     array[index++]=input; 
    } while(input>0); 

    for(int i=0; i < index; i++) 
    { 
     cout << array[index] << endl; 
    } 
} 
+0

В чем вопрос? постскриптум Вы должны добавить 'return 0' в конец' main() ' –

+0

. Что не работает так, как вы ожидаете? – usr2564301

+0

Когда я ввожу 1 2 3 -1. Я не верну эти цифры. – Person

ответ

7

Изменение этого

for(int i=0; i < index; i++) 
{ 
    cout << array[index] << endl; 
} 

К

for(int i=0; i < index; i++) 
{ 
    cout << array[i] << endl; 
} 

Вы использовали index в Seconde контура вызывает вашу программу, чтобы напечатать все после введенного пользователя ячейки массива.

Кроме того, если -1 ваше состояние, вы должны изменить его на

} while(input>=0); 
      ^^ 

В противном случае, а также 0 остановит цикл, который не то, что вы просите.

+0

спасибо, что я очень расстроился, а затем увидел ваш комментарий. присвистнуть – Person

Смежные вопросы