程序运行报错了。是打印学生信息问题,可以帮忙看看如何修改吗
#include<stdio.h>
#include<stdlib.h>
void menu(); //主界面
void inputstudent();//录入学生信息
void printstudent();//打印学生信息
typedef struct _student //定义学生
{
char name[30];//姓名
int age;//年龄
int xuehao;//学号
int score;//分数
}student;
//结点
typedef struct _Node
{
student stu; //学生
struct _Node* pNext;//指向下一个结点的指针
}Node;
Node *g_pHead=NULL;//头结点
int main()
{
int ch;
while (1)
{
menu();
scanf("%d",&ch); //输入所需数字
switch(ch)
{
case 1://录入学生信息
inputstudent();
break;
case 2://打印学生信息
printstudent();
break;
case 3://保存学生信息
break;
case 4://读取学生信息
break;
case 5://查找学生信息
break;
case 6://修改学生信息
break;
case 7://删除学生信息
break;
case 8://统计学生人数
break;
case 9://退出系统
break;
default:
printf("请重新输入\n");
break;
}
}
return 0;
}
//主界面
void menu()
{
printf("**************************************************\n");
printf("* 西安工程大学成绩管理系统v6.6 *\n");
printf("**************************************************\n");
printf("* 欢迎使用,请输入对应功能序号 *\n");
printf("**************************************************\n");
printf("* 1.录入学生信息 *\n");
printf("* 2.打印学生信息 *\n");
printf("* 3.保存学生信息 *\n");
printf("* 4.读取学生信息 *\n");
printf("* 5.查找学生信息 *\n");
printf("* 6.修改学生信息 *\n");
printf("* 7.删除学生信息 *\n");
printf("* 8.统计学生人数 *\n");
printf("* 9.退出系统 *\n");
printf("**************************************************\n");
}
void inputstudent()//录入学生信息
{
//创建一个新节点
Node *pNewNode=(Node*)malloc(sizeof(Node));
pNewNode->pNext = NULL;
//头插法
if(g_pHead==NULL)
{
g_pHead = pNewNode;
}
else
{
pNewNode->pNext = g_pHead;
g_pHead = pNewNode;
}
printf("请输入学生姓名:\n");
scanf("%s",pNewNode->stu.name);
printf("请输入学生年龄;\n");
scanf("%d",&pNewNode->stu.age);
printf("请输入学生学号:\n");
scanf("%d",&pNewNode->stu.xuehao);
printf("请输入学生成绩:\n");
scanf("%d",&pNewNode->stu.score);
printf("学生信息录入成功;\n");
system("pause"); //暂停
system("cls"); //清屏
}
void printstudent()//打印学生信息
{
printf("**************************************************\n");
printf("* 西安工程大学成绩管理系统v6.6 *\n");
printf("**************************************************\n");
printf("*\t学号\t*\t姓名\t*\t年龄\t*\t成绩*\n");
printf("**************************************************\n");
//遍历链表
Node*p=g_pHead;
while(p!=NULL)
{
printf("*\t%d\t*\t%s\t*\t%d\t*\t%d*\n",
p->stu.xuehao,
p->stu.name,
p->stu.age,
p->stu.score);
p=p->pNext;
}
}
错误信息