}
}
p=p->next;
if(studentID==p->student.studentID) { } else { } return;
printf(\你要查找的这个数据未找到\); if(p==head){ } else { } free(p);
pr->next=p->next; head=p->next;
voidDeleteNodeName()//输入姓名删除 {
structlink*p=head,*pr=head;
charstudentName[10]=\; if(head==NULL){ }
printf(\请输入你要删除的学生的姓名:\); scanf(\,studentName);
while(0!=strcmp(studentName,p->student.studentName)&&p->next!=N
printf(\对不起,没有数据可以删除\); return;
ULL)
{ }
if(0==strcmp(studentName,p->student.studentName)) {
if(p==head){ } else { }
pr->next=p->next; head=p->next; pr=p; p=p->next;
}
}
free(p);
else { } return;
printf(\你要查找的这个数据未找到\);
voidSave()//保存链表中的数据 {
fprintf(fp,\,p->student.studentID,p->FILE*fp;
structlink*p=head;
if((fp=fopen(\,\))==NULL) { }
while(p!=NULL) {
printf(\打开文件失败\); return;
student.studentName,p->student.studentSex,
}
}
p->student.score[0], p->student.score[1], p->student.score[2], p->student.score[3]);
p=p->next;
fclose(fp); return;
voidOpen()//将文件中获得的数据写入到链表中 {
longlongstudentID; charstudentName[10]; charstudentSex[4]; intscore[4]; FILE*fp; charc;
if((fp=fopen(\,\))==NULL) { }
printf(\文件打开失败\); return;
}
while((c=fgetc(fp))!=EOF) { }
fclose(fp);
fscanf(fp,\,&studentID); fscanf(fp,\,studentName); fscanf(fp,\,studentSex); fscanf(fp,\,&score[0]); fscanf(fp,\,&score[1]); fscanf(fp,\,&score[2]); fscanf(fp,\,&score[3]);
AppendNode(studentID,studentName,studentSex,score);
voidFindID() {
structlink*p=head; longlongstudentID=0; if(head==NULL) { }
printf(\没有数据查找\); return;