1、 1 信息科学与技术学院信息科学与技术学院 程序设计基础课程设计报告程序设计基础课程设计报告 题目名称:题目名称: 学生成绩管理学生成绩管理 学生姓名:学生姓名: 学学 号号: : 专业班级:专业班级: 指导教师:指导教师: 2012 年年 07 月月 05 日日 2 目录 1.课程设计题目与要求 3 1.1. 课程设计题目 3 1.2. 课程设计要求 3 1.2.1. 问题描述(功能要求) : 3 1.2.2. 问题的解决方案: .3 1.3. 其他要求: 3 2.总体设计 .4 3.详细设计 .5 3.1 类的设计与分析 .5 3.2 主模块设计 .6 3.2.1 主控 main()函数执
2、行流程 6 3.2.2.输入模块流程图: .7 3.2.5 删除模块流程图: 8 4.运行结果 . 10 4.1.主界面:图 4-1 . 10 4.2.录入学生的总分及平均分:图 4-2 . 11 4.3.按总成绩查询:图 4-3 11 4.4.按总分查询排名:图 4-4 12 4.5.各科不及格人数:图 4-5 12 5.总结 13 6.参考文献 . 13 3 1.课程设计题目与要求课程设计题目与要求 1.1. 课程设计题目 学生成绩管理 1.2. 课程设计要求 1.2.1. 问题描述(功能要求) : (1)能按学期,按班级完成对学生成绩的录入,修改 (2)能按班级统计学生的成绩,求学生的总
3、分及平均分,并能根据学生的 平均成绩进行排序 (3)能查询学生的成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单 1.2.2. 问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法) ; (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 1.3. 其他要求: (1)只能使用 C/C+语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果
4、能采用图形菜单界面更好) (3)学生可自动增加新功能模块 4 2.总体设计总体设计 采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较 小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独 立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务 的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的 逐步细化描述。 学生成绩管理系统 输入记录 模块 查询记录 模块 更新记录 模块 统计记录 模块 输出记录 模块 从 文 件 读 入 从 键 盘 输 入 按 学 号 查 询 按 姓 名 查 询 修 改 记 录 删 除 记 录 插 入
5、 记 录 排 序 记 录 各 科 最 高 分 和 不 及 格 人 数 统 计 输 出 至 文 件 输 出 至 屏 幕 图 2.1 学生成绩管理系统功能模块图 5 3.详细设计详细设计 3.1 类的设计与分析 Tstu 类类图 表 1 Tstu 类说明表 名称 属性 说明 num 数据成员 说明学生学号 name 数据成员 说明学生名字 math 数据成员 说明学生数学成绩 C+ 数据成员 说明学生 C+成绩 english 数据成员 说明学生大学英语成绩 aver 数据成员 说明学生平均成绩 sum 数据成员 说明学生总成绩 Tstu num name math C+ english aver
6、 sum 6 3.2 主模块设计 3.2.1 主控 main()函数执行流程 判断键值,调用相应函数, 完成相应功能 开始 以可读写的方式打开一个数据文件 将此文件的内容读出, 并存入一个新的单链表中 调用 menu()菜单函数 进入 while(1)主循环 输入011中的一个数值, 选择相应操作 调用函数 Switch(p) , 进行写数据文件操作 结束 输入是否为 0 ? 是否已对修改 进行了存盘 是 是 否 否 图 3.2.1 主控函数执行流程图 7 3.2.2.输入模块流程图: Y N 图 3.1 输入模块流程图 3.2.3.查找模块流程图: 正确 错误 图 3.2 查找模块流程图 系统界面 输入学生信息 输 入 学 生 信息 系统界面 查找学生信息 按学号查找 显 示 全 部 信 息 对不 起