1、 课 程 设 计课 程 设 计 ( (论 文论 文 ) ) 课程名称 程序设计实践 题 目 学生成绩管理系统设计与 实现 院 (系) 理学院 专业班级 姓 名 学 号 指导教师 2017年 1 月 12 日 学生成绩管理系统的设计与实现 摘要 学生成绩管理系统是典型的信息管理系统,是学校教务管理的重要组成部 分,其处理信息量很大。 本课程设计是用 C+实现对学生的成绩管理作一个简单的模拟,实质是建立 学生成绩单链表,每条记录由学号、姓名与成绩组成,即链表中每个结点由 4 个 域组成,分别为:学号、姓名、成绩存放下一个结点地址的 next 域。用菜单选择 操作方式完成 6 项功能分别写成六个函数
2、,创建学生成绩对应建立学生单链表的 功能,对全部学生成绩的排序,最后保存在文件中,另外四个功能分别对应单链 表的显示、查询、修改与删除四大基本操作。该系统中的数据采用线性表中的链 式存储结构即单链表来存储,用类类型定义每个学生记录并采用外部文件方式记 录数据简便数据的读取与保存。 通过对学生成绩管理系统的制作,能够让使用者迅速地对学生的成绩做各项 处理和显示,最终的到想要的信息,方便且易于操作。 关键词 学生成绩管理系统 , C+, 链表 ,文件 目录 1 总体介绍课程设计内容 . 1 1.1 课设内容总体介绍 . 1 1.1.1 设计内容 . 1 1.1.2 课程设计的要求 1 1.2 个人
3、完成部分 2 2 主要算法与原理 3 2.1 链表 . 3 2.1.1 链表的介绍 . 3 2.1.2 链表的创建与输出 3 2.1.3 链表结点的访问 . 4 2.1.4 链表结点的插入 . 4 2.1.5 链表结点的删除 . 4 2.2 文件的使用 4 2.2.1.打开文件 4 2.2.2 关闭文件 . 5 2.2.3 文本文件的读写 5 3 学生成绩管理系统的设计与实现 6 3.1 学生类成员及函数 . 6 3.2 学生信息类成员及函数 6 3.3 主要函数说明 7 3.4 学生成绩管理系统的总结构图. 7 3.5 模块的流程图 7 3.6 难点及难点的解决 . 8 4 结果分析及改进
4、9 5 小结和心得 . 13 6 参考文献 . 14 附录 15 第 1 页 共 28 页 1 总体介绍课程设计内容 1.1 课设内容总体介绍 1.1.1 设计内容 制作学生成绩管理系统,实现数据录入、数据删除、数据浏览以及数据查询 等功能。 1.1.2 课程设计的要求 包括系统设计要求,开发环境要求,技术文档要求三部分。 (1)系统设计要求: (a)学生成绩管理系统中不同使用单位(用户)的学生人数事先无法确定。 (b) 该学生成绩管理系统要求有学生成绩录入,查询,修改,删除,排序。 (c) 系统使用文字菜单, 用户通过选择菜单项的编号, 实现系统对子模块的 调用。 (d) 每个班级每门课程的
5、成绩可以从学生的成绩总表提取出子表并存储成 一个文本文件。该文本文件名由班级号和课程名拼音字符串构成。输入班级号和 课程名字符串后自动生成文件名。 (e) 每个学生学习的课程有数学,英语,C+。 (f) 学生的成绩总表结构约定为(学号,姓名,课程名,总评成绩) 总评成 绩等于各科成绩之和。 (g)学号是一个 9 位整数构成的字符串, 学号的编码规则:入学年份+在读年 级+在读班级+班内编号;入学年份用 4 位整数构成字符串,如 2014 年入学则表示 为: ” 2014” ; 在读年级用 1 位整数构成字符串, 如正在 1 年级读书则表示为: ” 1” ; 在读班级用 2 位整数构成字符串,如
6、正在 1 班读书则表示为: ”01” ;班内编号用 2 位整数构成字符串,如在班内编号为 23 号则表示为:”23” 。 (2)开发环境要求 软件环境:windows XP/windows 7,Visual C+ 硬件环境:计算机(Pen4 CPU, 512MRAM,60G 以上硬盘,输入输出设备) 第 2 页 共 28 页 (3)技术文档要求: 按软件工程技术文档要求。要求流程图绘制规范,模块功能描述清晰 1.2 个人完成部分 第一阶段:学习链表相关知识来动态分配存储空间,并作出链表的程序及学 习文件在 C+中的应用; 第二阶段:录入学生成绩、显示学生成绩、查询学生成绩并画出相关流程图, 并与队友共同把所有的程序进行整理并调试成功; 第三阶段:独立完成论文的书写。 第 3 页 共 28 页 2 主要算法与原理 2.1 链表 2.1.1 链表的介绍 数组式计算机根据事先定义好的数组类型与长度自动为其分配一连续的存储 单元,相同数组的位置和距离都是固定的,也就是说,任何一个数组元素的地址 都可一个简单的公式计算出来,因此这种结构可以有效的对数组元素进行