1、 课程设计任务书课程设计任务书 学生姓名:学生姓名: 专业班级:专业班级: 指导教师:指导教师: 工作单位:工作单位: 题题 目目: : 学生成绩管理系统学生成绩管理系统 已知技术参数和设计要求已知技术参数和设计要求: 现有学生成绩信息文件 1(cj1.txt) ,内容如下 姓名 学号 语文 数学 英语 张明明 01 67 78 82 李成友 02 78 91 88 张辉灿 03 68 82 56 王露 04 56 45 77 陈东明 05 67 38 47 . 学生成绩信息文件 2(cj2.txt),内容如下: 姓名 学号 语文 数学 英语 陈果 31 57 68 82 李华明 32 88
2、90 68 张明东 33 48 42 56 李明国 34 50 45 87 陈道亮 35 47 58 77 . 试编写一管理系统, 其基本其基本功能要求:功能要求: 实现对两个文件数据进行合并,生成新文件 cj3.txt 抽取出三科成绩中有补考的学生并保存在一个新文件 cj4.txt 对合并后的文件 3.txt 中的数据按总分降序排序(至少采用两种排序方法实现) 输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现) 要求使用结构体,链或数组等实现上述要求. 采用多种方法且算法正确者,可适当加分. 要求完成的要求完成的主要任务主要任务: : (包括课程设计工作量及其技术
3、要求,以及说明书撰写等具体要求) 数据结构课程设计说明书数据结构课程设计说明书 一、一、需求分析需求分析 1、问题描述 现如今,学校人数的暴涨,对学生基本信息的录入,保存量越来越大,为了简化对工作人员的操作, 故设计一个程序来完成对学生基本信息的录入,保存,编辑等简单操作。 2、基本任务 (1) 对学生信息表 cj1 和 cj2 进行合并; (2) 把合并的信息生成 cj3; (3) 把 cj3 中有补考的学生信息生成 cj4; (4) 对合并后的文件 3.txt 中的数据按总分降序排序; (5) 输入一个学生姓名后,能查找到此学生的信息并输出结果。 二、概要设计二、概要设计 为了完成需求分析
4、的基本任务,主要从以下 3 个方面进行设计: 1 1、 主界面设计主界面设计 为了实现学生成绩管理系统的各项功能,设计了一个含有多个菜单项的主控菜单模块以链接系统的 各项功能,以方便用户使用系统。系统主控菜单运行界面如图 1 所示: 图 1 学生成绩管理系统主菜单 2 2、数据结构设计、数据结构设计 系统采用链表的顺序存储结构。 一个字符数组存储学生姓名。 四个整型数存储学生学号语文成绩 数学成绩英语成绩。和一个结构体数组。 3 3、 系统功能设计系统功能设计 (1)从 c 盘下读取 cj1.txt 和 cj2.txt 中的学生成绩信息。程序会给出提示,因为如果在 c 盘下不 存在这两个文件那
5、么程序将不能继续会自动退出。 (2)程序给出选择是否将从 c 盘读取的学生信息保存到 c 盘下 cj3.txt 中,如果您选择是,那么程 序将执行。如果在 c 盘存在一个名为 cj3.txt 的文件,那么程序将用读取的信息将其覆盖。如果不存在, 则系统会自动生成一个名为 cj3.txt 的文件将数据放入其中。 (3) 程序会给出选择是否将 cj3.txt 中有补考的学生信息生成一个 cj4.txt 的文件。 如果您选择是。 那么程序将会执行。对于在 c 盘是否有名为 cj4.txt 的文件的处理和上面一样。 (4)程序会给出按总分大小排序的选项。程序设计了两种排序方法直接插入法排序和冒泡排序。
6、 (5)最后程序设计了一个循环,实现根据学生姓名查找学生成绩信息。如果你所输入的学生姓名不 存在,程序将会输出“查无此人”的提示符并提示是否继续查找。你可根据需要选择。如果选择否,程 序退出。 三、模块设计三、模块设计 【主程序模块】 : void main() fp=fopen(“c:cj1.txt“,“rt“);/从文本文件 cj1.txt 中读取数据传向 cj3.txt fp=fopen(“c:cj2.txt“,“rt“); /从文本文件 cj2.txt 中读取数据接到 cj3.txt 的后面 fp=fopen(“c:cj3.txt“,“rt“);/从合成后的 cj3.txt 读取数据,生成链表 fp=fopen(“c:cj4.txt“,“wt“);/把三科