《c语言学生成绩管理系统课程设计说明书》由会员分享,可在线阅读,更多相关《c语言学生成绩管理系统课程设计说明书(43页珍藏版)》请在金锄头文库上搜索。
1、 课程设计说明书设计名称: C语言课程设计 题 目: 学生成绩管理系统 学生姓名: 专 业: 网络工程 班 级: 12级1班 学 号: 2012394108 指导教师: 日 期: 年 月 日课程设计任务书 网络工程 专业 12 年级 1 班 孙璐 一、 设计题目学生成绩管理系统二、 主要内容数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。要求具有以下功能:(1) 系统以菜单方式工作。(2) 显示、保存记录;添加、删除、修改任意个记录。(3) 排序功能:打开学生数据库,计算每个学生的平均成绩和总成绩,用冒泡法或选择排序法将平均成绩和总成绩排序后生成两
2、个新文件(从大到小),存盘并显示这两个文件的全部记录。(4) 查询功能:打开总成绩排序文件,用折半查找法统计出给定分数的人数并显示。并能按学号或姓名查找并显示某个学生的各科成绩。(5) 统计功能:对各科成绩统计分析(平均分、最高分、最低分、及格率等);统计各科各分数段人数。 三、 具体要求围绕课程设计的目的和意义,基本要求如下:1、认真阅读C语言课程设计指导书,明确课程设计的目的、意义和要求;2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;3、快速熟悉Tuber C 或C+的上机环境。能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工
3、作效率。4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确定时间进度。如果是多人共一题,则要首先完成小组内的人员分工及安排,不允许重题现象。5学习并了解良好的程序设计风格。按质、按量、并按时间完成课程设计的任务。6提供可运行的课程设计系统,参加上机面试答辩。本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法
4、。四、 进度安排依照教学计划,课程设计时间为3周。按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将时间分为三个阶段:第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档;第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试;第三阶段,归纳文档资料,按要求填写在课程设计说明书上,并参加答辩。三个阶段时间分配的大概比例是: 35:45:20。五、 完成后应上交的材料1课程设计的题目、系统的总功能和各子模块的功能;2题目的设计思想(或算法)简
5、述;3主要程序的框图(要求用N-S图);4源程序代码(要求在关键的位置有注释,从而增加程序的可读性);5课程设计的总结报告,主要包括以下内容:(1)课程设计中遇到的主要问题和解决方法;(2)你的创新和得意之处;(3)设计中存在的不足及改进的设想;(4)本次课程设计的感想和心得体会。以上完成的源程序及相关文档,填写在课程设计说明书上,要求干净整洁,符合课程设计的要求和规范。六、 总评成绩课程设计的成绩根据学生在课程设计期间的态度,课程设计的完成情况和难易程度,文档的质量及系统演示情况综合评定。不符合要求的设计报告,抄袭的设计报告或者在设计中完全未参与者将按不及格处理。课程设计的成绩采用百分制记分
6、,成绩评定标准是:90至100分:能独立完成设计工作,在设计中体现出较强的综合运用知识能力和一定的创新能力。设计符合规范要求,说明书叙述透彻,体现一定的创新能力。设计过程中表现好,无违纪现象。80分至89分:能独立完成设计工作,在设计中体现出较强的综合运用知识的能力。设计符合规范要求,说明书叙述清楚。设计过程中表现较好,无违纪现象。70至79分:能完成设计工作,在设计中体现出一定的综合运用知识的能力,设计符合规范要求,说明书叙述比较清楚。设计过程中表现较好,无违纪现象。 60至69分:能基本完成设计工作,结果基本正确,设计符合规范要求,说明书叙述基本清楚,设计过程表现一般,无违纪现象。60分以
7、下:达不到上述水平。其中,程序设计占65%,文档占20%,面试答辩占15%。指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日目录1、 系统功能分析 .7 1.系统总功能分析 .72. 系统总框架 .73. 设计思想简述 .72、 子模块功能的描述(N-S框图 ).81. 数据结构模块 .82. 总流程图模块 .83. 建立数据库模块 .94. 增加学生的数据模块 .10 5.删除指定学号的学生的数据模块 .106.修改学生的数据模块 .117.保存函数模块 .118.显示函数模块 .119.排序函数模块 .1210.折半查找模块 .1311.统计分析学生分数模块 .14三、源程序
8、 .151.函数声明 .15 2.建立数据库 .15 3.增加并保存学生的数据 .17 4.删除指定学号的学生的数据 .205.修改保存学生的数据 .216.保存函数 .257.显示函数 .268.按平均分或总分排序函数 .279.折半查找学生数据 .3210.统计分析学生分数 .3311.查找指定学号学生数据 .3612.主函数 .37四、课程设计总结报告 .40 1.课程设计中遇到的主要问题和解决方法 .402.你的创新和得意之处 .413.设计中存在的不足及改进的设想 .414.本次课程设计的感想和心得体会.41一、系统功能分析1.系统总功能分析本系统的功能包括了密码验证功能,录入、输出
9、学生成绩功能,对成绩进行增、删、改的功能,保存进文件、读取文件的功能,根据平均分排序以及根据总成绩查找人数和对各科成绩进行分析统计的功能。 2.系统总框架 主程序密码进入建立数据库增加并保存学生的数据删除并保存学生的数据修改并保存学生的数据显示记 录排 序 分 数查询人数统 计 分 析查找信息3.设计思想简述本学生信息管理系统是以动态链表为基础,加上C语言的文件写法等编成的一个综合系统程序。二、子模块功能的描述(N-S框图) 1.数据结构学生信息定义为结构体,它包括学号、姓名、年级、专业、成绩1、成 绩2、成绩3、平均成绩、总成绩。结构体说的定义如下:struct student /链表的数据
10、结构int num;/记录学号 char name5;/记录姓名 int grade;/记录年级 char major2;/记录专业 float score3;/记录三科成绩分数float aver,sum;/记录平均分、总成绩struct student *next;/指向下一结点的指针 ; stu; 2.总流程图用户口令:HELLO真(strcmp(a,a_1)= =0 ) 假(strcmp(a,a_1)!=0菜单用户口令输入小于三次错误时,会提示:“对不起,您输入的口令有误!请重新输入。”输入第三次仍然口令错误时,会提示:“您的口令三次输入错误,退出系统!” 输入操作序号nn=1建立数据库n=2增加保存学生数据n=3删除保存学生数据n=4修改保存学生数据n=5显示数据库的记录n=6把平均分,总分排序n=7查询指定成绩人数n=8对各科成绩统计析n=9查找指定学号信息 调用子函数后再次选择1.返回菜单2.退出系统3. struct student *creat(void) 建立数据库建立数据库是一个建立动态链表的应用。先是创立存储空间,然后输入要创立的数据库的学生的人数,按照指针的指向作用,把这些学生的数据一一录入数据库。创建存储空间p=(structstudent*)malloc(sizeof(structstudent) 输入学生的学号、姓名、年级、专业、三