c语言学生学习成绩管理系统.doc

c语言学生学习成绩管理系统.doc

ID:58149604

大小:2.16 MB

页数:45页

时间:2020-04-25

c语言学生学习成绩管理系统.doc_第1页
c语言学生学习成绩管理系统.doc_第2页
c语言学生学习成绩管理系统.doc_第3页
c语言学生学习成绩管理系统.doc_第4页
c语言学生学习成绩管理系统.doc_第5页
资源描述:

《c语言学生学习成绩管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、本科生c语言课程设计报告书题目学生成绩管理系统学生姓名指导教师学院专业班级一、设计题目学生学习成绩管理系统二、课程设计目的本课程设计是“C语言程序设计”课程学习的一个关键环节。它是根据教学计划的要求,在教师的指导下,对学生实施程序设计训练的必要过程,是对前期课堂学习内容的综合应用及其效果的检验和提高。其目的在于培养学生综合运用理论知识来分析和解决实际问题的能力、以及严谨的科学态度和良好的程序设计习惯。本次设计,要求设计者基于结构化程序设计思想和所用C语言开发环境与工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题和要求,分析功能要求,划分功能模块,用链表结构设

2、计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理。三、系统功能1、输入/添加记录:将每一个学生的学号、姓名和各科学习成绩作为一个记录进行输入或添加。要求经过密码验证后能建立一个新的数据文件或给已建立好的数据文件增加记录。2、显示、查询记录:能按学生姓名(或学号)显示、查询一个或多个学生的各门(或某门)功课的成绩和平均成绩。3、修改记录:可以对数据文件中的任意记录的数据进行修改,在修改前后对该记录的内容进行显示,并设确认提示。(要求设置密码,验证通过后方可进入修改环节)4、删除记录:可以删除数据文件中的任一记录,包括逻辑删除(具有恢复功能)和物理删除(不可恢复)。(说明

3、:该功能也应设置为经过验证密码后才可实施删除)5、成绩排序:采用不同的排序方法对单科成绩和总(或平均)成绩进行排序,但不能改变原记录的顺序。6、统计功能:(A)计算各门课程全班总成绩及平均成绩;(B)统计各门课程得分为100、90~99、80~89、70~79、60~69和不及格学生的人数,以及与全班总人数的百分比。7、其他:该软件应具有系统名称、设计单位或个人等基本信息。四、设计方案本程序利用单链表存储结构完成对学生成绩的动态管理,其基本功能模块如下图所示:对表进行初始化输入成绩记录                                  追加记录到文件逻辑删除    

4、             退出管理系统分数分级子菜单按均分排序计算总分和均分读取文件保存文件查找某项记录显示所有记录修改某项记录物理删除                               主程序90-10080-9070-800-6060-70   图1 程序功能模块结构图五.程序设计及各模块函数功能简述1.数据结构链表是线形表的一种,线形表分为顺序存储结构和链式存储结构。线形表的顺序存储结构的特点是逻辑关系上相邻的两个元素物理位置上也相邻,因此可以随机存取表中任一元素。链式存储结构的特点是用一组任意的存储单元存储线形表的数据元素。链表的最大的优点是对表的添加、删除、查找

5、、排序等操作比较方便,因此采用链表来存储学生相关信息。且对结点的定义如下:typedefstructS1{charno[11];/*10位学号*/charname[15];/*姓名*/intscore[4];/*成绩*/floatsum;/*总分*/floataverage;/*平均分*/intorder;/*排名*/structS1*next;}STUDENT;2.main()主函数主函数是程序入口,采用模块化设计。首先在主程序中打印欢迎界面,声明一些必要变量,作一无限循环程序,循环体为一开关语句,该语句设置一个断点,其条件值是通过调用主菜单函数得到的返回值,根据该值,调用相应的

6、功能函数,同时设置一个断点,当返回值为一定条件时结束程序。menu_select=?013121198765432110开始调用menu函数输入menu_select的值  图2 主函数流程图3.menu_select()主菜单为了美化界面,制作双边框窗口,在窗口中显示主菜单。通过putch()输出图形符号的ASCII码值(十六进制),达到显示的目的。利用Windows函数制作显示窗口,该窗口比边框略小一点,且正好包含在边框中,能过仔细计算且多次调试后得到其坐标值,用函数gotoxy()来实现光标的移动。设置文本和背景色输出菜单项。恢复原窗口,设计输入选择项,返回主函数。相关的一些

7、函数如下:window、textbackground、clrscr、textcolor、cprintf、bioskey、gotoxy、putch。putch(0xc9);/*输出左上角边框┏*/putch(0xcd);/*输出水平线*/putch(0xbb);/*输出右上角边框┓*/putch(0xba);/*输出左垂直线*/putch(0xc8);/*输出左上角边框┗*/putch(0xbc);/*输出右下角边框┛*/4.init()初始化单链表需要一个头指针来指向

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。