学生成绩管理系统-C语言程序设计(15)
时间:2026-01-21
时间:2026-01-21
}
3.1.4 记录查找定位
用户进入成绩管理系统时,对某个学生的记录进行处理前,需要按照条件找到这条记录。此函数完成了节点定位的功能。
/************************************************************* 作用:用于定位链表中符合要求的节点,并返回指向该节点的指针 参数:findmess[]保存要查找的具体内容; nameornum[]保存按什么 在单链表l中查找;
**************************************************************/
Node* Locate(Link l,char findmess[],char nameornum[]) /*该函数用于定位连表中符合要求的接点,并返回该指针*/ {
Node *r;
if(strcmp(nameornum,"num")==0) /*按学号查询*/ {
r=l->next;
while(r!=NULL) {
if(strcmp(r->data.num,findmess)==0) return r; r=r->next; } }
else if(strcmp(nameornum,"name")==0) /*按姓名查询*/ {
r=l->next;
while(r!=NULL) {
if(strcmp(r->,findmess)==0) return r; r=r->next; } }
return 0;
} return 0; /*若未找到,返回一个空指针*/ }
3.1.5 增加学生记录
在此成绩管理系统中,若数据文件为空,则从单链表的头部开始增加学生记录节点;否则,将此生记录节点添加在单链表的尾部。 void Add(Link l) /*增加学生*/ {
Node *p,*r,*s; /*实现添加操作的临时的结构体指针变量*/ char num[15]; r=l;
s=l->next;
while(r->next!=NULL)
r=r->next; /*将指针置于最末尾*/ while(1) {
printf("请你输入学号(以'0'返回上一级菜单:)");
上一篇:保险公司决战四季度战报模板8页