2011-03-24 53 views
1

我有一些麻煩,將輸入流(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

唔...看起來是正確的:) – pajton 2011-03-24 21:20:04

+0

你應該使用'的std :: VECTOR'。 – GManNickG 2011-03-24 21:34:04

回答

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"; 
    } 
} 
+0

執行您的版本後,我發現我最初的錯誤。沒有插入一個double值(0.0),而是一個int(0)。謝謝你的幫助 ;) – 2011-03-24 21:32:18