Я новичок в c++, и мне нужно выбрать функцию, которая просит пользователя ввести значения первого элемента из пяти разных массивов. Например, массив для имени студента, массив для идентификатора ученика и т.д. Вопрос здесь, каков будет параметр этой функции.
Это моя попытка объявить массивы глобальными. Я не знаю, где ошибка.
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;
}
Если я правильно понял, вы хотите написать функцию, которая будет устанавливать значения элементов массивов с заданным индексом. Функция может выглядеть следующим образом
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;
}
Но в любом случае было бы лучше определить один массив структуры или класса, который будет содержать соответствующие поля.
Прежде всего вам понадобится функция main() для запуска программы. Вероятно, вы хотите, чтобы cin/cout был.
Наличие таких переменных, как вы, не оптимально, если вы хотите скрыть их, так что напишите их в главном {} с остальной частью кода, который у вас есть
Затем вы хотите отправить эти параметры, которые вы добавили в другую функцию. подобно
PrintStudents( int* studN, etc....)
{
}
Обратите внимание, что вам нужно использовать указатели.
Поскольку вы объявили массивы как глобальные переменные, вам не нужно предоставлять какие-либо параметры функции.
Однако ваш индекс должен быть инициализирован один раз на 0 вне функции. Это связано с тем, что вы не хотите переписывать значения снова и снова с одним и тем же индексом = 1.
Кроме того, после каждой операции int
read вы должны ввести cin.ignore()
поскольку символ \n
находится во входном буфере, и это мешает дальнейшим cin.ignore()
строки.