void DeleteStudentInformation(LINK head , long w) //删除学生
{
LINK p = (LINK)malloc(sizeof(NODE));
LINK m = (LINK)malloc(sizeof(NODE));
p = head->next ;
m = head;
int flag = 0;
char choice ;
int j = 0 ;
while(p)
{
if(p->number == w)
{
flag = 1;
printf("该学生信息为\n"); //打印想删除的学生信息
printf("此学生学号:%ld\n",p->number);
printf("此学生姓名:%s\n",p->name);
printf("此学生性别:%s\n",p->sex);
printf("此学生出生年月日:%d.%d.%d ",p->year,p->month,p->day);
printf("此学生年龄:%d\n",p->old);
printf("此学生数学成绩:%f\n",p->score[0]);
printf("此学生语文成绩:%f\n",p->score[1]);
printf("此学生英语成绩:%f\n",p->score[2]);
printf("此学生三科平均成绩:%f",p->average);
printf("您确定要删除吗?是,请输入‘Y’,否,请输入‘N’\n"); //再次确认是否删除
fflush(stdin);
choice = getchar();
if(choice == 'N')
{
printf("您选择了否,即将返回菜单\n");
getchar();
break;
}
m->next = p->next ;
if(p->next == NULL)
{
m->next = NULL;
}
else
{
m->next = p->next ;
}
free(p);
for(p= head->next ; p!=NULL; p=p->next)
{
++j;
}
printf("删除后学生人数为%d\n",j); //确认是否系统出错未删除学生
break;
}
p = p->next ;
m = m->next ;
}
if(flag == 0) //判断该学生是否存在
{
printf("该学生不存在\n");
}
}