这个程序应该怎么写,求解答

编写一个链式存储的线性表存储五名学生的信息,每个数据元素包含一个同学的姓名,学号,成绩(百分制)

//建立一个链式存储的线性表存储无名学生信息,每个数据元素包含一个同学的姓名,学号成绩百分制
#include <iostream>
#include <string>
using namespace std;
typedef struct _student
{
    string name;
    int num;
    int score;
    _student *next;
}stunode,*stulist;
int main()
{
    stulist head = new stunode;
    head->next = NULL;
    stulist p = head;
    for(int i=0;i<5;i++)
    {
        stulist q = new stunode;
        cout<<"输入第"<<i+1<<"名学生的姓名、学号和成绩:"<<endl;
        cin>>q->name>>q->num>>q->score;
        q->next = NULL;
        p->next = q;
        p = q;
    }
    p = head->next;
    while(p != NULL)
    {
        cout<<p->name<<" "<<p->num<<" "<<p->score<<endl;
        p = p->next;
    }
    return 0;
}

这个百度一下能找到很多代码,参考如下:

在结构体里面可以定义多个存储数据的,然后再定义一个next指针就可以了吧