2013-02-09 91 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;在当前程序中没有任何用处,因为当用户输入其值时,所有条目都会被覆盖。