C语言程序设计课程设计报告学生成绩管理系统设计与实现.doc
-
资源ID:2384673
资源大小:767.50KB
全文页数:12页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
C语言程序设计课程设计报告学生成绩管理系统设计与实现.doc
五邑大学课程设计报告课程类别: 本科课程名称: C语言程序设计课程设计课程代号: 0800090指导教师: 学生成绩管理系统设计与实现姓名:学号:3113003904院系:计算机学院专业:电子信息工程(信息安全)课程设计报告提交时间:2014年 4月 27 日目 录1课程设计内容12课程设计要求12.1功能要求12.2技术要求13概要设计13.1功能模块图13.2功能模块描述24详细设计24.1功能流程图24.2重点设计25测试与调试26心得体会2参考文献2学生成绩管理系统设计与实现1 课程设计内容设计并实现通讯录管理系统,具备以下功能模块:(1) 功能模块1:显示学生成绩信息记录;(2) 功能模块2:查找学生成绩信息记录;(3) 功能模块3:添加学生成绩信息记录;(4) 功能模块4:修改学生成绩信息记录;(5) 功能模块5:删除学生成绩信息记录;(6) 功能模块6:以文件形式存储学生成绩信息;(7) 功能模块7:具有功能选择菜单及操作界面;2 课程设计要求2.1 功能要求(1) 功能要求1:能显示在链表中的学生成绩信息记录;(2) 功能要求2:能查找在链表中的学生成绩信息记录;(3) 功能要求3:能添加学生成绩信息记录至链表;(4) 功能要求4:能修改链表中的学生成绩信息记录;(5) 功能要求5:能删除链表中的学生成绩信息记录;(6) 功能要求6:能将链表中的学生成绩信息永久保存至文件中;(7) 功能要求7:能将文件中的信息读入链表;(8) 功能要求8:具有功能选择菜单及操作界面;2.2 技术要求(1) 技术要求1:建立学生成绩信息结构体;(2) 技术要求2:通过链表动态储存结构体并进行相应的操作;(3) 技术要求3:将文件读入链表并储存链表中的信息至文件;(4) 技术要求4:读取文件中的信息至链表;3 概要设计新建链表,从文件读入信息至链表保存学生成绩信息至文件添加学生成绩信息修改学生成绩信息删除学生成绩信息查找学生成绩信息浏览学生成绩信息学生成绩管理系统功能主界面学生成绩管理系统欢迎界面3.1 功能模块图3.2功能模块描述 1. 主界面与功能选择:在main()函数中,利用无限次循环语句while()和选择语句swith (xz)实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。2.从文件读取信息至链表listlink load(),新建链表listlink create():在进入系统后,先将以保存的文件中的学生成绩信息通过“head=load()”的方式读取至结构体penson中去;如果文件不存在或为空,则通过“head=create()”的方式新建一个链表用于记录学生成绩信息。3.浏览学生成绩记录 void show(listlink head):在主界面选择功能1时,系统将链表中的学生成绩信息显示出来。4.查找学生成绩记录 void find(listlink head):在主界面选择功能2时,系统会根据用户输入的姓名自动搜索链表中的相关信息,如果一直到链表尾都没有找到,则提示用户“对不起,没有找到该条记录,请确认输入是否正确!”,若找到则显示出该生的成绩信息。5.修改学生成绩记录void alter(listlink head):在主界面选择功能3时,系统会先通过“show(head)”显示所有记录,然后用户只需输入需要修改对象的姓名就可进入修改,这时系统会弹出一条确认信息,以免错误操作,修改后,系统将新的信息通过指针的方式赋值给需要修改的对象,并提示修改成功。6.删除学生成绩记录 listlink Delete(listlink head):在主界面选择功能4时,系统先通过“show(head)”显示链表中的记录,用户再输入需删除对象的姓名,此时系统查找链表中的相应记录,找到后系统弹出确认信息,以免造成误删,若用户确认删除,系统通过链表将该记录的前一节点指向后一节点,并释放该记录在链表中申请的内存空间,最后返回头指针。7.添加学生成绩记录至链表尾 void input(listlink head):在主界面选择功能5时,系统先找到链表的尾节点,利用无限次循环语句while()进行添加记录操作,用malloc()分配结构数组的动态内存(当输入的姓名为“#”时,结束添加操作并释放malloc()分配的内存空间),每添加完一位学生的成绩信息后,将尾节点置为空。8.保存学生成绩记录至文件 void save(listlink head):利用fp=fopen()打开已有文件,再通过while()语句将链表中的所有记录用fwrite()写入文件,直到链表尾部,保存成功。4 详细设计4.1 功能流程图.4.2重点设计系统由一个头文件(score.h),一个主函数(stu_score.c)和一个功能函数(function.c)组成,主函数主要包括界面及功能选择菜单,功能函数则包括了所有要用到的功能,通过主函数调用。学生成绩信息通过链表操作的方式进行动态存储,以提高系统的工作效率,最后的信息通过文件(people.txt)的形式永久储存至硬盘。学生成绩信息利用结构数组可使某位学生的信息联系到一起,提高系统的效率。此外,系统操作界面简洁大方,功能操作都挺人性化。5 测试与调试上机操作(截图)系统主界面(选择数字进入,退出系统)系统功能界面(选择数字进行相应功能操作) 浏览记录查找记录修改记录删除记录添加记录直接退出系统(不保存)保存并退出6 心得体会通过本次课程设计,我体会到了c语言学习的实用性。将理论和实践结合在一起,用先进的计算机工具方便人们的生活。C语言程序的编写首先要从大局考虑,把自己编写整个程序的思想都写在草稿上,这样有助于自己编写程序,在编写时要完善注释,方便其他人理解程序。编写的程序从理论上来说并没有错,但以上机就问题不断。甚至有些课本上的知识照搬不变,也不能得到正确的结果。有时一个程序改了一遍又一遍,但就是不能成功,编程显得枯燥乏味,看似简单的程序题,在调试时却屡屡出错。经反复的修改后,结果正确了,这时所有的乏味都显得那么无力,一切都是值得的。我认为,开发一套系统,最重要的是细心,并且思考要全面,结合实际,充分考虑到客户的需求和现实意义。不管什么系统,只用运用到实际应用中,才具有先现实意义。 所以c语言程序的实用性很强,我们以后还要更加努力认真地学习编程语言。参考文献1 谭浩强. C程序设计(第4版). 清华大学出版社, 2010.2 苏小红. C语言程序设计(第1版). 高等教育出版社, 2011.3 (美)H.M.Deitel & P.J.Deitel. C程序设计教程. 机械工业出版社, 2005.4 龚沛增 杨志强. C/C+程序设计教程M. 北京:高等教育出版社, 2004.5 高潮. C+程序设计. 冶金工业出版社, 2010.6 谭浩强. C程序设计题解与上机指导(第三版). 清华大学出版社, 2005.