- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言实验报告样张(链表)
基于链表的学生信息管理系统
1.实验目的
本实训目的就是要通过一次集中的强化训练,提高C语言的综合使用能力,建立起与后续课程(如“数据结构”)的知识衔接;
2.实验要求
具体要求
至少完成如下功能,更多功能可以根据自己想法和能力添加。
实现各功能的菜单选择;
学生信息必须至少包括:学号、姓名、专业、班级、3门以上成绩;
输入的信息在磁盘永久性存储;
实现学生信息的表格化输出显式;
分别实现按学号、姓名、专业、班级、总分的排序和查找;实现专业、班级和成绩的综合查找(如计算机专业,12级1班,总分240分以上同学);
实现学生信息的插入和删除功能;
实现数据的全部清除;
实现对在录学生数目的统计;
3.设计算法分析
模块调用层次图
【1】变量描述
定义形式/名称 含义/作用
结构体变量 int number 定义学生学号 char name[15] 定义学生姓名 char major[20] 定义学生专业 char _class[15] 定义学生班级 float score1 定义学生成绩1 float score2 定义学生成绩2 float score3 定义学生成绩3 float sum 定义学生总分 struct STUDENT *next 定义指针变量 结构体 struct STUDENT; 声明结构体类型 全局变量 int m=0
struct STUDENT *head 录入学生个数
头指针 文件 数据存储.txt 保存学生信息 函数 input print del insert
order search save select 创建链表 输出链表 删除 插入 排序 查找 保存 选择
主函数 main 2】系统模块调用层次图
选择
select
创建链表input 输出链表print 删除
del 插入
insert 排序order 查找
search 保存
save 3.2核心算法描述
各个功能的函数设计;
【3】各个功能的函数设计;
创建动态链表:
p1=p2=(struct STUDENT *) malloc(sizeof(struct STUDENT)) 读入一个学生数据给p1所指的结点 head=NULL ,m=0 while(p1-number!=0) m=m+1 m=1? T F head=p1 p2-next=p1 p2=p1 p1=p2=(struct STUDENT *) malloc(sizeof(struct STUDENT)) 读入一个学生数据给p1所指结点 p2-next=NULL;
链表的插入模块:
p1=head,p=(struct STUDENT *)malloc(sizeof(struct STUDENT))
T head=NULL?
F head=p;
p-next=NULL; while((p1-next!=NULL)(p1-numberp-number)) p2=p1,p1=p1next; p1-number=p-number ?
T
F head==p1 ?
T
F p1-next=p;
p-next=NULL; p-next=head;
head=p; p2-next=p;
p-next=p1; m++;
return(head);
链表的输出模块:
p1=head; head!=NULL? T F 输出p1所指向的结点 printf(该链表为空\n) P1指向下一个结点 while(p1!=NULL)
链表的删除模块:
p2=head; head==NULL? T F printf(这是一个空链表\n); while((p2-next!=NULL)(p2-number!=number))
p1=p2, p2=p2-next;
p2-number==number ?
T F
head==p2 ?
T
您可能关注的文档
最近下载
- 新解读《GB_T 29639-2020生产经营单位生产安全事故应急预案编制导则》.docx VIP
- GB∕T29639-2020生产经营单位生产安全事故应急预案编制导则.docx VIP
- 2025年湖北省技能高考(电气电子类)专业知识考试题(附答案).doc VIP
- 检验科超氧化物歧化酶(sod)检测的临床意义..doc VIP
- 《Excel商务数据分析与应用》-课程标准.pdf VIP
- 不同人群的营养与膳食ppt课件.pptx VIP
- 初三《道德与法治》开学第一课.pptx
- 阀门相关知识培训课件PPT.pptx
- 电力业务许可证(供电类)自查报告书-附件4.doc VIP
- 外墙保温用锚栓JGT366-2012.pptx VIP
文档评论(0)