一个函数中的不同数组

时间:2013-12-27 08:37:29

标签: c++ arrays function

我是c ++的初学者,我必须要求用户输入五个不同数组的第一个元素的值。例如学生姓名的数组,学生ID的数组等。这里的问题是这个函数的参数是什么。

这是我尝试将数组声明为全局的尝试。我不知道哪里出错了。

const int SIZE=1000;
int studN[SIZE]; 
int id[SIZE]; 
string courseName[SIZE];
string courseSec[SIZE]; 
int regNom[SIZE];

void insertNew()
{ 
int index=0;
index++;
cout<<"Please enter the student name:  ";
cin>>studN[index];
cout<<"Please enter the student ID:  ";
cin>>id[index];
cout<<"Please enter the course name:  ";
cin>>courseName[index];
cout<<"Please enter the course section:  ";
cin>>courseSec[index];
cout<<"Please enter the registration number:  ";
cin>>regNom[index];
cout<<" Information stored"<<endl;
}

3 个答案:

答案 0 :(得分:0)

由于您已将数组声明为全局变量,因此无需为函数提供任何参数。

但是,您的索引应在函数外部初始化为0。这是因为您不希望在相同的索引= 1处反复重写值。

此外,在每次int读取操作之后,您应键入cin.ignore(),因为\n字符位于输入缓冲区中,这会干扰进一步的字符串读取。

答案 1 :(得分:0)

首先,您需要一个main()函数来启动程序。这可能就是你想要cin / cout的地方。

如果您想要隐藏它们,那么拥有像您这样的变量并不是最佳的,所以将它们填入主{}中,并使用其他代码

然后,您希望将已添加的参数发送到另一个函数。喜欢

PrintStudents( int* studN, etc....) 
{

}

请注意,您需要使用指针。

答案 2 :(得分:0)

如果我理解正确,你想编写一个函数来设置具有给定索引的数组元素的值。该功能可以按以下方式查看

bool Insert( int studN[], int id[], string courseName[], string courseSec[], int regNom, size_t size, size_t pos )
{
    if ( size <= pos ) return false;

    cout << "Please enter the student name:  ";
    cin >> studN[pos];
    // other stuff
    // ,,,

    return true;
}

但无论如何最好定义一个包含相应字段的结构或类的数组。