C ++:存储用户输入

时间:2013-07-28 00:35:30

标签: c++

我只想让用户输入一些数字。如果数字为-1,则程序停止然后输出相同的数字。为什么这么难?我不明白为什么逻辑在这里不起作用。

例如,当用户键入:

1 2 3 -1 

然后打印出该程序:     1     2     3     -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;
    }
}

1 个答案:

答案 0 :(得分:6)

更改此

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

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

您在seconde循环中使用了index,导致您的程序在用户输入之后打印所有数组单元格的

此外,如果-1是您的条件,则应将其更改为

} while(input>=0);
             ^^ 

否则,0也会停止循环,这不是你要求的。