这一段代码不是太能看懂,是什么意思,怎么理解
//修改学生信息
void Change(pnode phead)
{
char Name[10];
printf("请输入你需要修改的学生的姓名:");
scanf("%s",&Name);
pnode p=phead->pnext;//定义一个指针用于遍历学生信息
while(NULL!=p)
{
if(0==strcmp(Name,p->st.Name))
{
printf("姓名 学号 计算机 高数 大英 总分 平均分\n");
system("pause");
system("cls");//清屏
printf("请输入新的学生姓名:");
scanf("%s",p->st.Name);
printf("请输入新的学生学号:");
scanf("%d",&p->st.Num);
printf("请输入新的学生的计算机成绩:");
scanf("%f",&p->st.Computer);
printf("请输入新的学生的高数成绩:");
scanf("%f",&p->st.Math);
printf("请输入新的学生的大英成绩:");
scanf("%f",&p->st.English);
p->st.Total=p->st.Computer+p->st.Math+p->st.English;//计算总分
p->st.Ave=p->st.Total/3.0f;//计算平均分
break;
}
p=p->pnext;
}
}
void Change(pnode phead)
{
char Name[10];
printf("请输入你需要修改的学生的姓名:");
scanf("%s",&Name);
pnode p=phead->pnext;//定义一个指针用于遍历学生信息
while(NULL!=p)//学生信息不为空
{
if(0==strcmp(Name,p->st.Name))//判断当前指针是否指向需要修改的学生的姓名
{//当前指针指向需要修改的学生姓名,以下进行修改
printf("姓名 学号 计算机 高数 大英 总分 平均分\n");
system("pause");
system("cls");//清屏
printf("请输入新的学生姓名:");
scanf("%s",p->st.Name);
printf("请输入新的学生学号:");
scanf("%d",&p->st.Num);
printf("请输入新的学生的计算机成绩:");
scanf("%f",&p->st.Computer);
printf("请输入新的学生的高数成绩:");
scanf("%f",&p->st.Math);
printf("请输入新的学生的大英成绩:");
scanf("%f",&p->st.English);
p->st.Total=p->st.Computer+p->st.Math+p->st.English;//计算总分
p->st.Ave=p->st.Total/3.0f;//计算平均分
break;//修改完毕,跳出循环
}
p=p->pnext;///当前指针未指向需要修改的学生姓名,继续向后寻找
}
}