gpt4 book ai didi

c++ - 带有结构指针数组的getline

转载 作者:行者123 更新时间:2023-11-30 03:03:19 25 4
gpt4 key购买 nike

我必须在类里面学习内存管理以及如何使用 new 运算符动态分配内存。

我有一个结构是

struct Course
{
int courseNumber, creditHours;
string courseName;
char grade;
};

我试图用 for 循环填充成员变量,但我不确定如何将 getlinecourseName 一起使用。我可以使用常规的 cin,但如果类名有空格,它就不起作用。

下面是我的代码和我尝试过的代码,但我收到一个争论错误,指出 courseArray 未定义。

Course* readCourseArray(int &courses)                           //Read Courses
{
cout<<"\nHow many courses is the student taking?\n";
cin>>courses;
const int *sizePTR = &courses;
Course *coursePTR = new Course[*sizePTR];

for(int count = 0; count < *sizePTR; count++) //Enter course information
{
cout<<"\nEnter student "<<count+1<<"'s course name\n";
getline(cin,courseArray[count].courseName);
cout<<"\nEnter student "<<count+1<<"'s course number\n";
cin>>coursePTR[count].courseNumber;
cout<<"\nEnter student "<<count+1<<"'s credit hours\n";
cin>>coursePTR[count].creditHours;
cout<<"\nEnter student "<<count+1<<"'s grade\n";
cin>>coursePTR[count].grade;
}


return coursePTR;
}

最佳答案

指向你数组的指针叫做coursePTR , 不是 courseArray .只需替换名称 courseArraycoursePTR .

对于这一行:

const int *sizePTR = &courses;

你不必这样做,你可以使用 courses直接(因此,从您使用 * 的地方删除所有 sizePTR,然后将 sizePTR 更改为 courses)。

我也希望你记得到delete[] readCourseArray 的返回值:)

关于c++ - 带有结构指针数组的getline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com