将值保存到数组中

时间:2011-03-24 21:16:23

标签: c++

我遇到了一些问题,将输入流(cin)中的值保存到数组中。

int count = 2;
double *startValues = new double[count];
for(int i = 0; i < count; i++) {
    double tmpVal;
    cout << i + 1 << ". Startwert: "; cin >> tmpVal;
    startValues[i] = tmpVal;
}

在for循环之后,只有第一个值保存在数组startValues中,而不是第二个值。这有什么不对?

1 个答案:

答案 0 :(得分:2)

错误检查。您需要验证您实际上 cin

读取了一个双重内容
int count = 2;
double *startValues = new double[count];
int i = 0;
while (i < count) {
    double tmpVal;
    cout << i + 1 << ". Startwert: "; 
    if (cin >> tmpVal) {
      startValues[i] = tmpVal;
      ++i;
    } else {
      cout << "\nIncorrect entry, try again\n";
    }
}