




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程设计报告题目 :学生成绩管理系统的设计与实现一、简介1设计目的:加强自己在课程中学习的相关算法和方法的具体应用,使自己进一步熟悉理解和掌握树的逻辑结构和存储结构的知识,进一步掌握在C或其他语言中应用这些算法的能力。并且在此基础上利用其进行编程与设计,实现程序的设计,进一步提高使用理论知识指导解决实际问题的能力,并在此基础上强化自己的实践意识,提高自己的实际动手能力和创新能力。2问题的描述:设计一个班级学生管理系统,希望可以处理每个学生的学习情况信息。学生学习情况信息包括学号、姓名、年龄、性别、班级、联系方式等,并能使管理人员通过界面完成对班级、学生信息的录入及对数据的查找、浏览。可以实现对学生的成绩的输入,输出,保存,修改,排序。可以添加和删除学生的信息。输入:一组学生的信息,包括:学号、姓名、年龄、性别、班级、联系方式,成绩。输出:输出到屏幕,保存到文件。二、数据结构的设计:定义一个单链表,储存学生的基本信息 : 学号、姓名、年龄、性别、班级、联系方式,成绩等。struct student char num10; /学号 char name20; /姓名 char sex4; /性别 int age; /年龄 char Class4; /班级 char tele11; /电话int computer; /计算机成绩 int math; /数学成绩 int English; /英语成绩 int totle; /总成绩;typedef struct Lnodestruct student data;struct Lnode *next;LNode,*LinkList;对学生信息的操作:输入,输出,保存,修改,排序,添加,删除。void Add(LinkList L)函数, 输入:从文件读入,fp=fopen(student,wb);或从键盘输入。void Save(LinkList L)保存,输出写入到文件。fp=fopen(student,ab+);void Disp(LinkList L),输出到屏幕。三、功能(函数)设计: 对于这次班级学生成绩管理系统的设计,总体上划分为三个模块实现,功能模块图,函数功能说明,具体功能描述如下:1、学生管理模块:主要实现的功能为登记、修改某班某个学生的基本情况、删除某班某个学生的基本情况。2、成绩管理模块:主要实现的功能为登记、修改某个学生某门课的成绩。3、查询、浏览模块:主要实现的功能为查找、浏览每个学生的基本信息;查找、浏览每个学生的全部成绩信息。四、界面设计:、首先进入界面,显示功能菜单;、输入你所选择的功能代号:输入1:表示登记学生的信息; 若输入学生的学号为0,则返回选择菜单界面。输入2:表示删除一个学生的所有信息;、 按学号删除;、 按姓名删除。输入3:表示查询一个学生的信息; 、按学号查询;、按姓名查询。输入4:表示对某一个学生的成绩进行修改;输入5:表示查看所有学生的信息;输入6:表示对所有学生的总成绩由高到低进行排序;输入7:表示保存所有学生的信息;输入8:显示帮助信息,即显示功能菜单;输入0:表示退出系统。五、程序设计:1、主函数:void main()、函数功能:利用函数调用的功能,实现、输出程序设计的最终想要的结果,即是形成一个学生信息管理系统,对所有学生及其所有的信息进行管理。、在程序运行的过程中,调用了添加、删除、查询、修改、显示、保存等函数。、程序流程图:开始输入功能序号判断输入做相应处理提示输入错误退出系统是否保存保存成功结束2、添加函数:void Add(LinkList L)、函数功能:登记学生的所有相关信息(学号、姓名、性别、年龄、电话、成绩等);、程序流程图:输入学号numstrcmp(s-data.num,num)=0strcmp(s-data.num,num)!=0结束输入信息num=0num!=0开始3、删除函数:void Del(LinkList L)、函数功能:删除某个学生的所有相关信息;运行的过程中,调用了LNode* Locate(LinkList L,char findmess,char nameornumorClass)函数。、程序流程图:输入学号numr-next=p-next;free(p);r-next=p-next;free(p);结束strcmp(p-data.num,num)=0strcmp(,name)=0开始输入姓名name4、查询函数:void Qur(LinkList L)、函数功能:查询某个学生的所有信息;运行的过程中,调用了LNode* Locate(LinkList L,char findmess,char nameornumorClass)函数。、程序流程图:输入学号num输出信息输出信息结束strcmp(p-data.num,num)=0strcmp(,name)=0开始输入姓名name5、修改函数:void Modify(LinkList L)、函数功能:对某个学生的成绩进行修改;、程序流程图:输入学号num结束strcmp(p-data.num,num)=0开始输入修改的成绩6、排序函数:void sort(LinkList &L)、函数功能:利用冒泡排序的思想,对学生的成绩进行由高到低的排序;、程序流程图:开始结束t1-data.totlenext-data.totlestruct student s = t1-data;t1-data = t1-next-data;t1-next-data = s;7、保存函数:void Save(LinkList L)、函数功能:保存所有登记的学生的所有信息;、程序流程图:开始结束while (p)fwrite(p,sizeof(LNode),1,fp)=1p=p-next;count+;8、显示函数:void Disp(LinkList L)、函数功能:显示系统中存在的学生的相关信息;、程序流程图:开始结束while (p)输出信息六、运行与测试:1、测试的数据及其结果:、进入学生成绩管理系统界面:、输入测试的数据:学号 姓名 性别 年龄 班级 电话 计算机成绩 数学成绩 英语成绩第一个学生:1 1 1 1 1 1 1 1 1 第二个学生:2 2 2 2 2 2 2 2 2第三个学生:3 3 3 3 3 3 3 3 3 第四个学生:4 4 4 4 4 4 4 4 4第五个学生:5 5 5 5 5 5 5 5 5显示学生信息登记的结果:、测试的数据:删除一个学生的所有信息。删除:学号1。显示删除后的结果:、测试的数据:查询一个学生的所有信息。查询:学号2。显示查询的结果:、测试的数据:对一个学生的成绩进行修改。修改:学号3,计算机、数学、英语成绩分别为8、9、4。显示修改后的结果:、对学生的总成绩采用冒泡排序:、保存所登记的学生的所有信息:2、运行与测试期间遇到的问题及其解决办法。(1)问题1:运行时,在没有头文件时,用了exit(1)语句,出现了错误;解决办法:添加头文件;(2)问题2:缺少p-data.totle=puter+p-data.math+p-data.English;,发现总成绩没有发生变化;解决办法:添加p-data.totle=puter+p-data.math+p-data.English;七、结论:(1)在输入函数中设了一个无限循环,可以输入无数个学生的成绩信息,当学号为0的时候则停止输入。(2)输入太多个学生的成绩时,屏幕显示不能控制为一页一页显示,所以为了方便起见,不要输入太多记录,十七左右为最佳。(3)在输入选项时不能输入字母,否则会死循环,建议不要乱输字母。(4)刚开始时,先把成绩按总分排序,再插入一个学生的成绩,执行显示功能,虽然插入的学生的成绩能正常插入,但该学生的名次为0。后来,在插入成绩之后,调用排序函数,把所有成绩重新排序一次。八、设计后的思考:刚开始学习数据结构这门课时,感觉很难,看书看不懂,老师讲课也听不懂,做作业也不会做,好像什么都学不好,前途一片渺茫。为了学好这门课,为了更好的学习以后的专业知识,为以后的工作打下基础,我必须付出更多的努力。从那以后,我就将大部分的时间花在学习这门专业课上,加倍努力,除了多看课本,专心听课外,还额外的看了相应的课外资料书,遇到不懂得就问同学,与同学互相讨论。经过一个多学期的奋战,我终于看到了一点点希望:发现自己开始掌握了相应的一部分知识,例如链表、栈和队列、树以及图等知识,而且还学会了磁盘文件保存的知识。尤其是经过了这次的课程设计,我不仅学会了知识,还学会了将专业知识与实际问题联系起来,并且运用专业知识去解决实际问题。虽然这次课程设计,花了我不少的的时间,但是更重要的是,正是这些时间,让我见识到了数据结构这门课知识的重要性。通过这次课程设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康与保健咨询合同
- 苏教版高中化学必修第一册专题2研究物质的基本方法2.1.2蒸馏、分液和萃取 课件
- 康复科专科护士学术汇报
- 科学从刺激到反应课件
- 民宿消防培训课件
- 2025年数据增强混合策略(含答案与解析)
- 2025年智能投顾算法设计试题(含答案与解析)
- 2025年AI代码生成可维护性审计考题(含答案与解析)
- 2025年大模型错误案例可解释性习题(含答案与解析)
- 人保查勘员培训课件
- 2023年普通高等学校招生全国统一考试(全国乙卷)文综历史试题附答案
- (高清版)DB34∕T 5154-2025 基于云制造的工业互联网架构要求
- 党校中青班入学考试试题及答案
- 三支一扶培训
- 医疗卫生机构安全生产标准化管理规范
- 心内科出科汇报
- 2025年中国儿童游乐设施产业深度调研与投资机遇研究报告
- 新生儿42天体检要点解析
- 生成式人工智能课件
- 2025年园林绿化养护管理方案范本(四)
- 煤矿联网课题题目及答案
评论
0/150
提交评论