




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二:学生信息管理(单链表)【实验目的】1. 设讣一个学生信息管理系统2. 掌握用C语育义单链表结构,并实现其创建、插入、删除等基本操作。【实验内容】本次实验通过单链表的基本操作,实现一个简单的学生信息管理系统,包括:学生信息 链表的建立、添加学生信息、査询学生信息、删除学生信息、输出所有学生信息。【实验要求】本实验是对学生的信息管理作一个简单的模拟,用菜单选择操作方式完成下列功能:入 询 除 出 出学生信 学生信 学生信 所有学生信息 管理系统1学生信息链表的建立2. 插3. 查4. 删5. 输0.退【知识要点】本实验涉及单链表的种操作,包括单链表的建立、结点的査找、插入、删除等基本运 算
2、。链表中插入结点的指针变化,删除P所指结点的指针变化。【实现提示】本题实质是建立学生信息线性表,每条信息由学号、姓爼、性别与成绩组成,即链表中 每个结点由5个域组成,分别为:学号、姓名、成绩、存放下一个结点地址的next域。要 求完成的五项功能可写成五个函数(0项功能由菜单程序实现),登记学生成绩对应建立学 生单链表的功能,2、3、4这三个功能分别对应单链表的插入、查询与删除三大基本操作。【代码】include #include#include lypedef structfchar num8jy* 学号7 char name;/*姓名*/ char gender3y* 性別*/ int sc
3、ore;/* 成绩*/IDalaType: lypedef struct nodcDalaType data: struct node *next:IListNode: lypedef LisiNode *LinkList; LinkList head;严函数说明*/int menu_select();LinkList createList(void);void printList(LinkLisl head);int insertNode(LinkList head.ListNode *pjni i);ListNode *findList(LinkList head);void delNod
4、e(LinkList head);void mainOListNode *p;int i:while(l)switch(menu_select()case 1:prinlf( * *n*) prinlfC*学生信息链表的建立n);prinlf(* * *n) head = createLisK);break:case 2:prinlf( * *n*)p rinlf(添加学生信息n“);printf(* * *n*)printf(-n学号(8) 姓名(8)性別 成绩VnJ;printf(* * *n) p=(LisiNode *)mallocsizeof(ListNode): scanf%s%s
5、%s%,p-data.genden&pdalascorc); prinlfCig输入要插入的位置:n“);fflush(stdin);scanf(”(T.&i);if(insertNode(head.p J )=- i)prim”没有合适的插入点! W);elseprimf(”结点已经插入Xif);break:case 3:prinlf( * *n*) prinlf(”查询学生信息如“);prinlf(* * *n) p=findLisi(head);if(p!=NULL)PrimfOn学号(8) 姓名(8)性别 成绩W);printf(-n):p
6、 rintf(%s.%s,%s,%dn.p-data.nunip-daia.namc,p-data.gendenp-data.score);printf(n);elseprintf(”没查到要查询的学生信息!);break:case 4:prinlf(* * *n) p rimf(”删除学生信息如“);prinlf( * *n*) delNode(head);break:case 5:prinlf(* * *n) prinlf(输出所有学生信息(1”);printf( * *n) p rintList(hcad);break:case 0:printfC再见! 5);getcharo;retu
7、rn;int menu_select()int sn: printf(n printf(= printfC printfC print” printf( printf( printfC printf(= prinif(请选择 05:n”); fore;)学生信息管理系统nj;E);1 学生信息链表的建立10 入学生信息) 询学生信息曲) 除学生信息如”) 出所有学生信息n”) 出管理系统0)2 插3 査4删5.输0 退W);scanf(”(T.&sn);if (sn5)prinif(nt 输入错误.重选 0-5n):elsebreak;return sn:LinkList createList
8、(void)ListNode *p.*rear; char flag = y: head = (ListNode *)maIlocsizeofListNode): rear= head;while(flag=y It flag=Y)p=(LislNode *)malloc(sizeof(ListNode);prinlf(n学号(8) 姓爼(8性别 成绩5“); scanf(*%s%s%s%,p-data.genden&pdalascorc); rcar-nexi = p;rcar = p:prinlfC继续输入吗?(y/n);flag = getc
9、harO;rear-next = NULL: return head;void printList(LinkLisi head)ListNode *p;p=head-nexi:printf(-n学号(8) 姓名(8)性别 成绩0);printfCn”);while(p!=NULL)p rintfC*%s.%s,%s,%dn,p-data.num,p-datajiame.p-data.genderp-daia.score);printfCnj;p=p-next:int insertNode(LinkList head.ListNode *pjni i)ListNode *pl;pl=head:i
10、f(pl-nexi=NULL)/*空表:插入作为第一个结点可if(i=0)p l-next=p: p-nexi=NULL;elsereturn -I;while(inext; j卄;if(pl=NULL)/*没有合适的插入点卄 return -1;p-next=pl-next; pl-next=p: return 0:LisiNode *findList(LinkList head)ListNode *p;W);=n“);char num8: char name9J: int xz;printf( = printfCl.按学号查询n”); primf(2、按姓名査询n”); printf(-= printfC 请选择: p=head-nexi: scanf(”d”&xz);if (xz=l) prinifC请输入要査找学生的学号: scanf(%snum);while(p & sircmp(p-data.nunKnum)!=O) p=p-next;elseif (xz=2)prim请输入要査找学生的姓名:J; scanf(%sname);while (p & strcmp()!=O) p=p-next:return p: void delNode(LinkList head)ListNode *p.*q;pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年终止合作经营合同
- 2025胡萝卜种植收购合同
- 2025年科技服务合同
- 2025签订汽车租赁合同应注意事项
- 2025【电缆采购合同】地下室电缆采购合同协议书
- 2025年纺织合作协议书
- 2025网络设备安装合同范本
- 2025幼儿教育机构劳动合同
- 2025艺术品赠送合同模板
- 2025年合同违约情形下的劳动合同解除
- 2025-2030串番茄行业市场发展分析及前景趋势与投资研究报告
- 《寻找消失的分数》期中考试分析班会课件
- 辽宁沈阳国有资产托管中心有限公司招聘笔试题库2025
- 2024年注册安全工程师考试题库及参考答案【完整版】
- 大班语言《他们看见了一只猫》课件
- 毕业论文-电力变压器设计
- 消毒产品进货检查验收制度
- 单叉固定式液压升降台设计
- 《美国消费品安全改进法》的普通合格证书、纺织品服装类产
- GB∕T 40740-2021 堆焊工艺评定试验
- 2022年新高考湖南化学高考真题(word版含答案)
评论
0/150
提交评论