如何解决如何访问结构数组中的第n个元素
我有一个程序,要求我创建一个保存学生信息的结构。要求说使用指针并动态分配StudentInfo结构的数组。现在,我只想存储每个学生的ID号。我想我正确地存储了数字,但是当我尝试显示ID号时,我遇到了问题。
using namespace std;
struct StudentInfo
{
string Name = "";
int Idnum = 0;
int* Tests = { 0 };
double Average = 0.0;
char Grade = 'z';
};
int main() {
int numberOfStudents = 0,numberOfTests = 0;
cout << "Enter the number of students: ";
cin >> numberOfStudents;
cout << "Enter the number of tests: ";
cin >> numberOfTests;
StudentInfo* students = nullptr;
students = new StudentInfo[numberOfStudents];
for (int i = 0; i < numberOfStudents; i++) {
cout << "Enter the student ID: ";
cin >> students[i].Idnum;
}
cout << students[2]->Idnum;
return 0;
}
例如,假设我有3个学生,并且id分别为123、456和789。我将如何获得cout语句来显示789?
编辑: 下面列出了编译器错误:
1>------ Build started: Project: Chap11Num12,Configuration: Debug Win32 ------
1>Chap11Num12.cpp
1>C:\Users\mstew\Desktop\CIS2541\week10\Chap11Num12\Chap11Num12.cpp(41,21): error C2819: type 'StudentInfo' does not have an overloaded member 'operator ->'
1>C:\Users\mstew\Desktop\CIS2541\week10\Chap11Num12\Chap11Num12.cpp(14): message : see declaration of 'StudentInfo'
1>C:\Users\mstew\Desktop\CIS2541\week10\Chap11Num12\Chap11Num12.cpp(41,21): message : did you intend to use '.' instead?
1>C:\Users\mstew\Desktop\CIS2541\week10\Chap11Num12\Chap11Num12.cpp(41,28): error C2232: '->StudentInfo::Idnum': left operand has 'struct' type,use '.'
1>Done building project "Chap11Num12.vcxproj" -- Failed.
========== Build: 0 succeeded,1 Failed,0 up-to-date,0 skipped ==========
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。