2013-02-09 76 views
2

我的問題是:家庭作業幫助

假設你的程序中包含的代碼如下所示創建一個動態分配的數組:

int * entry; 
entry = new int [10]; 

使指針變量條目指向這個動態分配數組。編寫代碼以用鍵盤輸入的十個數字填充該數組。

我已經讀完這本書兩天了,現在仍然無法弄清楚這一點。

下面是我正在嘗試的代碼,但它在第17行給我一個錯誤,表示:沒有操作符匹配這些操作數「< <」。我檢查了msdn和其他幾個網站,但我無法弄清楚這一點。任何幫助,將不勝感激。

#include <iostream> 

using namespace std; 

int main() 
{ 
int * entry; 
entry = new int [10]; 
int array_size = 10; 
int num; 
for(int i = 0; i< array_size; i++) 
    entry[i] = i; 

for(int i = 0; i < array_size; i++) 
{ 
    cout << "Enter an int into the array: " << endl; 
    cin << entry[i] << endl; 
} 


return 0; 
} 
+8

'cin >> entry [i];';) – us2012 2013-02-09 01:32:49

+0

Woooow。我現在感覺很蠢。謝謝您的幫助! – Dorden 2013-02-09 01:34:45

+0

此外,前一個循環與'entry [i] = i;'沒有任何用處,因爲您正在用用戶輸入的值覆蓋所有這些。 – us2012 2013-02-09 01:35:56

回答

6

您有錯誤的流操作符方向:使用cin >> entry[i];。記住這一點的一個好方法是將操作員看作是一個箭頭:對於輸出,您將要輸出的東西指向cout,對於輸入,將cin中的值指向應存儲輸入的變量。

默認情況下,cin >> ...會自動處理空格(空格,製表符,換行符),因此不需要>> endl

最後,前一個循環設置entry[i] = i;在當前程序中沒有任何用處,因爲當用戶輸入其值時,所有條目都會被覆蓋。