1、 目 录 1 需求分析需求分析 .错误!未定义书签。 1.1 问题描述 . 错误错误!未定义书签。未定义书签。 1.2 输入数据要求 错误错误!未定义书签。未定义书签。 1.3 输出数据要求 错误错误!未定义书签。未定义书签。 1.4 开发环境和工具 1 1.5 成员分工 . 1 2 总体设计总体设计 错误!未定义书签。 2.1 总体设计思路 错误错误!未定义书签。未定义书签。 2.2 模块结构图 错误错误!未定义书签。未定义书签。 2.3 模块说明 . 错误错误!未定义书签。未定义书签。 3 详细设计详细设计 . 5 3.1 数据类型定义 5 3.2 修改模块实现方法10 3.3 查询模块实
2、现方法12 4 测试结果及分析测试结果及分析 .错误!未定义书签。 5 总结总结 .错误!未定义书签。 参考文献参考文献 21 附录 错错 误误!未定义书签。未定义书签。 1 1 需求分析需求分析 问问题描述题描述 1.1 数据需求数据需求 成绩表信息:学号,班级,姓名,语文,数学,英语 成绩信息存放在文件中,以学号的先后顺序存放 1.21.2 处理需求处理需求 (1)打开:显示文件中的所有成绩记录,提供分页显示 (2)保存:将成绩表的更新结果存入文件 (3)更新:可插入、删除、修改各科目成绩 (4)查找:按学号,姓名、班级 (5)统计:求每门课程的平均分,求每个学生的平均分 (6)排序:按学
3、号,某课程的分数,各人的平均分 1.31.3 其它要求其它要求 (1)提供菜单选择以上功能 (2)自学:文件的读写,清屏函数 1.41.4 开发环境和工具开发环境和工具 开发环境:Windows 2000 开发工具:Visual C+ 6.0 1.51.5 成员分工成员分工: 2 蜘蛛侠:总体设计、查询模块、排序模块、 超 人:系统测试、主调模块、更新模块、 2 2 总体设计总体设计 2.12.1 总体设计思路总体设计思路 1.1.设计思路设计思路(功能模块) 1 显示成绩 2 增加成绩 3 修改成绩 4 删除 5 姓名查找 6 学号查找 7 排序 A 学号 B 语文 C 英语 D 数学 E
4、平均 8 语文平均 9 数学平均 10 英语平均 11 退出 3 2.2.数据储存数据储存 文件存储 文件的储存是通过对两个函数的调用来实现的: 1 IO_ReadInfo 即学生信息从文件中读取。 2 IO_WriteInfo 即将学生信息写入文件。 2.22.2 模块结构图模块结构图 4 2.3 2.3 模块说明模块说明 1 显示成绩模块: A显示全部学生成绩信息 (void Student_Display()) 包括:“姓名“,“语文成绩“,“数学成绩“,“英语成绩“,“平均成绩“。 B 显示主界面 void homepage() 2 删除学生成绩模块:用 void Student_De
5、lete()来实现。 3 平均成绩模块:例如求语文成绩的平均分,具体用 float Chinese_Average(struct Student students)来实现。 4 查询学生信息请模块:void Student_SelectByName() 学学 生生 成成 绩绩 管管 理理 系系 统统 1 显 示 成 绩 2. 增 加 成 绩 3. 修 改 成 绩 4. 删 除 5 按 姓 名 查 6. 按 学 号 查 7. 排 序 8. 语 文 平 均 9 数 学 平 均 10 英 语 平 均 11 退 出 按 学 号 按 平 均 按 英 语 按 数 学 按 语 文 5 3.3.详细设计详细设
6、计 3.13.1 数据类型定义数据类型定义 函数名称或其他部分 功能 main 总控函数 struct Student students 结构体数组 Avg(struct Student stu) 平均成绩 Student_Modify() 修改学生信息 Student_Delete() 删除学生信息 Student_DisplaySingle 显示单条学生信息 Student_SelectByName 查询指定学生信息(姓 名) Student_SelectByNumber 查询指定学生信息(学 号) Student_SortByAverage 按平均成绩将学生排序 Student_SortByNumber 按平均成绩将学生排序 Student_SortByChinese 按语文成绩将学生信息 排序 Student_Display 显示全部学生信息 IO_ReadInfo 学生信息从文件中读取 fclose(fp) 关闭文件 6 IO_WriteInfo 将学生信息写