1、 课 程 设 计 报 告 课程名称课程名称 C 语言程序设计语言程序设计 课题名称课题名称 班级成绩管理系统班级成绩管理系统 专专 业业 电气工程及其自动化电气工程及其自动化 班班 级级 电气电气 1183 班班 学学 号号 姓姓 名名 指导教师指导教师 2013 年年 6 月月 20 日日 目录目录 一、引言 . 1 二、总体设计 . 2 三、详细设计 . 4 四、问题分析及总结 13 五、参考文献 15 六、附件 15 一 、 设 计 内容与设计要 求一 、 设 计 内容与设计要 求 1. 1. 设计内容:班级成绩管理系统设计设计内容:班级成绩管理系统设计 涉及的知识点:涉及的知识点: 掌
2、握并熟练运用C 语言的基本数据类型与各种表达式, 程序的流程控制语句; 掌握数组的基本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组 与字符串的关系以及字符串的简单处理。 掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数 之间的关系;掌握变量的作用域与生存期,了解函数的作用域。 掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构 体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。 掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件 的建立、读写等有关操作。 2.2.设计要求:设计要求: 1) 用 C 语言实现系统;利用结构体数
3、组实现班级成绩的数据结构设计;系统的 各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调 用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表 格的形式输出;在各功能子模块中应设计相应的二级菜单。 2) 建立一个班级学生成绩数据库,文件名为 bjcjk.txt,并从该文件中读取数据; 3) 班级成绩管理系统应能提供以下功能: (1)主菜单界面设计。 通过提示用户输入一个数字选项, 调用相应的功能函数。 (2)学生成绩显示:完成班级全部学生成绩的显示,显示时按表格的形式,且 应有表头; (3)学生成绩追加:完成新增一个(或多个)学生的成绩记录,要求在追加过程 中有相
4、应的提示信息,完成追加后能重新计算学生平均成绩并显示; (4)学生成绩修改:要求能按学号和按姓名两种定位方式,且可以按用户要 求修改记录中除学号和姓名以外的指定内容,并重新计算学生的平均成绩; (5)学生成绩信息的查询;要示系统能按学号、按姓名查询以及能查总分在某一 指定范围内的学生信息,且能显示符合条件的所的记录,若所需查询的信息不 存在时应有相应的提示信息。 (6)学生成绩信息的删除;要求可按指定的学号和指定的姓名两种定位方式删除 学生的成绩记录。 (7)要求在删除模块、修改模块和查询模块中若找不到所需的记录时,系统设计 中应有一定的提示信息。 (8)成绩排序:按学生平均成绩进行排序; (
5、9)成绩统计: 统计并以表格的形式显示所有课程的平均分; 统计并显示选定的某门课程的平均分以及超过该平均分的人数,同时 能将超过该平均分的学生记录以表格的形式显示出来。 4) 说明:说明: (1) 要求将修改后的数据写入到一个新的数据文件 nwejck.txt 中。 (2) 对系统有兴趣的同学可以在实现基本要求的基础上,完善系统的其它功能。 5) 班级成绩管理系统采用一个结构体数组,学生成绩数据库结构如下:班级成绩管理系统采用一个结构体数组,学生成绩数据库结构如下: int xh /*学号*/ char name10 /*姓名*/ double yy /*英语*/ double mat /*数
6、学*/ double jsj /*计算机*/ double wl /*物理*/ double zf /*总分*/ 注意:学号不能重复且不少于注意:学号不能重复且不少于 4位数字,各项字符串的长度要求在位数字,各项字符串的长度要求在 410 之间,数据库之间,数据库 应有应有 10 条或多于条或多于 10 条以上的记录。条以上的记录。 6) 要求:要求: 要求每个学生必须独立思考, 认真并按时完成本课程设计所包含的所有内容; 要求学生必须按照课程设计报告的完整格式说明设计内容,设计任务分析过 程和算法,给出程序流程图和全部源程序; 设计报告的完整格式应包括以下部分的内容: 系统设计总体思路; 系统的主要功能; 系统功能模块的划分(要求画出总体模块框图) ; 主要功能的实现和各个程序模块说明(每个功能模块的框