我遇到了一些问题,将输入流(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中,而不是第二个值。这有什么不对?
答案 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";
}
}