我是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;
}
答案 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;
}
但无论如何最好定义一个包含相应字段的结构或类的数组。