学生成绩管理系统之打印成绩

学生成绩管理系统 打印学生成绩的时候为什么打印只能打印最新输入的学生的成绩 不能全部打印
代码是跟着b站一个up主学的 部分代码如下 我感觉我写的没问题啊

void print()
{

system("cls");  //清屏 

printf("------------------------------------------------------------------\n");   
printf("--\t\t\t\t学生成绩管理系统\t\t\t\t--\n");                
printf("------------------------------------------------------------------\n");

printf("--学号\t-\t姓名\t-\t数学\t-\t物理\t-\t英语\t-\tC语言--\n");
printf("------------------------------------------------------------------\n");

//遍历链表 
Node*p=Head;
while(p!=NULL)  //只要不为空就往下走 
{
    printf("---%d\t-\t%s\t-\t%d\t-\t%d\t-\t%d\t-\t%d---\n",
            p->stu.num,
            p->stu.name,
            p->stu.math,
            p->stu.physics,
            p->stu.english,
            p->stu.program); 
  
    p=p->Next;
 } 
printf("------------------------------------------------------------------\n");
system("pause");  //暂停
system("cls");  //清屏 

}

可以发下完整的代码,这样方便测试