湖南XX学院C语言课程设计学生成绩管理系统.doc
《湖南XX学院C语言课程设计学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《湖南XX学院C语言课程设计学生成绩管理系统.doc(27页珍藏版)》请在三一办公上搜索。
1、课 程 设 计 报 告课程名称 C语言课程设计 课题名称 学生成绩管理系统 专 业 汽车服务工程 班 级 1 2 0 2 班 学 号 201202180213 姓 名 刘 波 指导教师 王宁 肖伟平 郭芳 2014年 1月 3 日湖南工程学院课 程 设 计 任 务 书课程名称 C课程设计 课 题 学生成绩管理系统 专业班级 汽车服务工程 学生姓名 刘 波 学 号 201202180213 指导老师 王宁 肖伟平 郭芳 审 批 任务书下达日期 2013 年 12 月 27日任务完成日期 2014年 1 月 3 日 目录封面1任务书2目录3设计内容与设计要求4进度安排4课题的主要功能5课题的功能模
2、块的划分5主要功能的实现5程序调试8程序界面9总结心得15源程序(附件)16评分表27一、设计内容与设计要求1设计内容:设计与开发一个学生成绩管理系统,对学生的学号、姓名、课程成绩、总分、平均成绩等信息进行管理、主要功能以下基本功能模块图1-1所示。主程序初始化输入显示删除查找添加计算排序退出图1-1 基本功能模块2设计要求:1)设计正确,方案合理。2)界面友好,使用方便。3)程序精炼,结构清晰。4)设计报告5000字以上,含程序设计说明、系统的功能框图、流程图、源程序清单等。5)实际操作过程中遇到的问题及解决方法:设计总结及心得体会.6)上机演示。二、进度安排第十七周 周五 上午 8:001
3、2:00(查阅相关资料并 开始编写源程序)第十七周 周五 晚上 18:3022:30 (完成源程序编写调试运行 课程设计报告)第十七周 周六 下午 13:3017:30(完成课程设计报告以及答辩)学生成绩管理系统一、课题的主要功能:学生信息是存放在文件中的,所以应该提供文件的输入,输出,插入,删除等操作,在程序中需要浏览学生的信息,应提供显示,查找,排序等操作,另外还应提供键盘式选择菜单提供选择功能。二、课题的功能模块的划分:根据上面的需求分析,可以将这个系统大致划分为以下模块。 学生成绩管理初始化建立学生成绩表格删除记录显示单链表中所有记录按姓名查找记录保存到文件、从文件加载 计算所有学生成
4、绩的总分和均分插入记录到表中将所有学生成绩排序追加记录到文件模块退出三、主要功能的实现:1.进入主菜单,初始化模块,如图 3-1 所示:进行清零输入0 N返回主模块 Y 清零成功 Y任意键返回主模块 3-1初始化模块 2.建立学生表格模块,如图3-2所示:进行编辑输入1 N返回主模块 Y 信息录入 N 返回主模块 Y继续输入 Y任意键返回主模块 3-2建立学生表格模块3.从表中删除原有纪录模块,如图3-3所示: 进行删除输入2 N返回主模块 Y 信息录入 N 返回主模块 Y删除成功 Y任意键返回主模块 3-3删除原有纪录模块4.显示单链表中所有记录模块,如图3-4所示: 进行输入输入3 N返回
5、主模块 Y 信息输出 N 返回主模块 Y显示信息 Y任意键返回主模块 3-4显示纪录模块5.按照姓名查找纪录模块,如图3-5所示: 学生姓名输入4 N返回主模块 Y 信息录入 N 返回主模块 Y查找成功 Y任意键返回主模块 3-5查找模块6.保存到文件模块,如图3-6所示:保存文件输入5 N返回主模块 Y 保存成功 Y任意键返回主模块 3-6查找模块7.从文件加载模块,如图3-7所示:加载文件输入6 N返回主模块 Y 加载成功 Y任意键返回主模块 3-7查找模块8.计算所有学生的总分和均分模块,如图3-8所示: 进行计算输入7 N返回主模块 Y 输出结果 Y任意键返回主模块 3-8计算模块9.
6、插入纪录到表中模块,如图3-9所示: 学号输入8 N返回主模块 Y 信息录入 N 返回主模块 Y成功插入 Y任意键返回主模块 3-9插入纪录模块10.将所有学生成绩排序模块,如图3-10所示: 进行排序输入9 N返回主模块 Y 排序成功 Y任意键返回主模块 3-10排序模块11.追加记录到文件模块,如图3-11所示: 追加到文件输入10 N返回主模块 Y 追加成功 Y任意键返回主模块 3-11分类合计模块12.退出模块。四、程序调试:在设计该程序的时候我采用了结构化程序方法编辑,并在源代码的基础上添加了中文注释。但是在该系统的编写过程中仍然有许多错误,主要的有:注释文字的排版,定义错误,句式的
7、语法错误。在完善程序时,我将源代码先打印下来反复的捉摸和研究,力图在上机运行时先改正一些低级错误.如缺少”;”之类.在仔细检查之后,将源代码上机调试进行编译,在编译和连接过程中发现错误,屏幕上显示了出错信息,根据提示找到出错的位置,加以改正直到顺利显示我预期的。1、首先,在本次调试过程中我碰到了在上机前根本没有想到的错误:在注释的时候,注释文字应写在一起中间不能有中断,不能再其中包含c语言的语句。否则会引起错误,例如格式不正确或是多了字符等。2、缺少变量定义或是定义位置不正确;由于该程序相对来讲稍有些长,前后有些变量很难联系起来,但是在错误信息的提示下一般还是很是可以找到。不过需要注意的是在定
8、义的时候有些函数使用同样的变量名而表示不同的作用,因而使用要很小心,定义及定义的位置要特别留意。为减少这样的错误我后来还是用不同的变量名来表示,结果引起的那些错误解决了。3、句式的语法错误;大多的语法错误在通过书本参考下能够修改。主要是平时看书不仔细、不太注意而产生的。如没有注意具体数据使用是有一定的范围限定;过分重视分号的重要性而在for、if、while语句中画蛇添足加分号;在使用文件的时候忘记将文件先打开,对打开的方式与使用的情况不太注意而造成不匹配;还有漏掉形参的定义是值不能传递等等。这些语法错误有信息框的提示一般是能够排除的。编译、连接的成功并不意味着程序的最终成功。以上是调试的全过
9、程。程序界面:首先进入界面时,根据屏幕上的提示press any key enter menu即是按任意键均可进入主菜单,考虑到学生成绩大多由老师输入和调用,所以这里对使用者没有要求也就没有添加密码的必要。 在进入主菜单时可以看到这样的画面,如图4-1所示:4-1主菜单从0到10共有11个功能键。此时应该根据提示”Enter your choice (0-10):”选择自己需要用的功能,例如:在提示后按1再回车(Enter键)的话就会进入编辑。在主菜单上的11个功能分别是:0. init list将表格初始化:使用0后,系统会将原有的一切记录全部删去,所有的恢复到位使用时。一切在主菜单上完成。
10、1. Enter list建立学生成绩表格:使用1后,在界面上会要求你输入学号no,姓名name 和成绩score1、2、3。如果已经输入完毕只要在下一个no后输入再按回车键即可,此时就会回到主菜单,如图4-2所示:4-2输入界面2. Delete a record from list从表中删除原有纪录:使用2 后,会进入子界面,提示语会告诉你输入你要删除的信息的学生的学号,然后会出现“ list no * student”这就表示删除成功,如果没有这个学生的信息则会跳过步执行但是还是会输出上述的句子,如图4-3所示:4-3显示删除界面3. print list显示单链表中所有记录:如果是在执
11、行完5以后,那么总分和均分一栏就不会空白,而是会输出计算后的数据,如图4-4所示:4-4打印输出界面4. Search record from list按照姓名查找纪录:根据提示”please enter studentsname for search”输入学生的拼音拼写的姓名,如图4-5所示:4-5查找界面5. Save the file,根据提示保存到文件,如图4-6所示:4-6保存界面6. Load the file,根据提示从文件加载,如图4-7所示:4-7加载界面7. compute the score计算所有学生的总分和均分:按7后,系统会自动计算然后输出结果,如图4-8所示:4-
12、8计算界面8. insert record to list插入纪录到表中:使用8时,要输入你想插到哪一个学生前,只需输入他的学号。然后,在提示语的提醒下输入要插入学生的学号,姓名和成绩。如图4-9所示:4-9插入后界面9. sort to make new file将所有学生成绩排序:在完成后,会出现”sort success!”如果想看结果的话,可以在执行完这一步后在执行3,这样就可以看到排序后的结果。如图4-10所示: 4-10分类合计界面10. append record to file追加记录到文件模板,如图4-11所示:4-11追加记录界面10. Quit退出模块,在主菜单上实行。五
13、、总结通过这次C语言课程设计,让我对C语言更加的了解,C语言不单单是仅一种简单的程序设计,C语言是一种兴趣的培养,是一种对程序编程的热爱。虽然只有几天的课程设计,但是让我体会到了所掌握的知识的不足,对以前所学过的知识理解得不够深刻,掌握得不够牢固。我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。对我而言,C语言是一门很有趣的课程,通过简简单单的几句程序语句,简简单单的组合在一起,就可以组成一个能够帮助人的管理系统,方便而快捷。当然,我对C语言的认知还远远不够,需要我不断地去探索,去发现。这是一个学习的过程,难免会遇到拦路虎,
14、这就需要我有勇气去征服,不放弃,不抛弃。我相信,我一定会在接下来的日子里学的更好的。感谢在课程设计过程中王老师给予的讲解和帮助以及和我讨论给我很大帮助的同学们,谢谢你们的帮助和支持!六、附件(源程序) /*xuesheng.c*/*头文件(.h)*/#include stdio.h /*I/O函数*/#include stdlib.h /*其它说明*/#include string.h /*字符串函数*/#include conio.h /*屏幕操作函数*/#include mem.h /*内存操作函数*/#include ctype.h /*字符操作函数*/#include alloc.h
15、/*动态地址分配函数*/#define N 3 /*定义常数*/typedef struct z1 /*定义数据结构*/ char no11; char name15; int scoreN; float sum; float average; int order; struct z1 *next; STUDENT;/*以下是函数原型*/STUDENT *init(); /*初始化函数*/STUDENT *create(); /*创建链表*/STUDENT *delete(STUDENT *h); /*删除记录*/void print(STUDENT *h); /* 显示所有记录*/void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖南 XX 学院 语言 课程设计 学生 成绩管理系统
链接地址:https://www.31ppt.com/p-4178308.html