1、 1 数据结构课程设计报告 1、 成绩分析问题 2、 全国交通咨询模拟 学院(系) : 计算机科学与工程学院 班 级: 11 级 36X 班 学生姓名: XXX 学号 1110306010X 指导教师: XXX 2012 年年 12 月月 17 日日 到到 2013 年年 1 月月 4 日日 2 一、课程设计概述:一、课程设计概述: 本次数据结构课程设计共完成两个题:成绩分析问题和全国交通咨询模拟。 使用语言:C+ 编译环境:TC3.0 / VC6.0 二、课程设计题目一二、课程设计题目一 实验内容实验内容 成绩分析文档资料成绩分析文档资料 问题描述问题描述 录入、保存一个班级学生多门课程的成
2、绩,并对成绩进行分析。 需求分析需求分析 1.通过键盘输入各学生的多门课程的成绩,建立相应的文件 sc.txt 2.对文件 sc.txt 中的数据进行处理,要求具有如下功能: a.按各门课程的成绩排序,并生成相应的文件输出 b.计算每人的平均成绩,按平均成绩排序,并生成文件 c.求出各门课程的平均成绩、不及格人数、6069 分人数、 7079 分人数、8089 分人数、90 分以上人数 d.根据姓名或学号查询某人的各门课成绩,重名也要能处理 3.界面美观 概要设计概要设计 -=ADT=- save(int n)/保存函数 int load()/加载记录或可以计算记录个数的函数 void pri
3、ntf_face()/显示一个记录的函数 browse()/浏览(全部)模块函数 void printf_back()/一个任务结束时的选择浏览还是返回的函数 average(int i)/求平均值函数 no_input(int i,int n)/学号输入函数 score_input(int i)/分数输入函数 3 input(int i)/输入一个记录函数 modify_data(int i,int n)/修改记录函数 enter()/输入模块函数 add()/追加模块函数 modify()/修改模块函数 del()/删除模块函数 int h(char k)/ 查找模块函数 insert()
4、/插入模块函数 void sift(RecNode r,int t,int w)/ 排序模块(按平均成绩) 函数 void fenduantongji()/统计模块函数 teacher()/教师界面函数 st()/学生界面函数 distin()/密码函数 menu()/主界面函数 存储结构存储结构 struct student/学生信息结构体 char num11;/学号 char name20;/姓名 int score8;/成绩(英语 数学 C 语言 管理学 信检 体育 近代史 线数) double ave;/平均分 stuN; typedef struct node unsigned l
5、ong int key; struct node * link; HNode; 4 typedef struct int key; /*排序码*/ float data;/*其他数据项*/ RecNode; 流程图流程图 (1)程序设计组成框图 (2)模块功能说明 1 输入新数据:完成全部学生记录的输入。 2 添加数据:添加新学生所有信息。 3 增加功能:增加新学生的部分信息。 4 删除功能:删除学生信息。 5浏览全部学生数据:输出所有学生信息。 学 生 成 绩 管 理 系 统 1. 输入新数据 2. 添加学生数据 3. 修改学生数据 4. 删除学生数据 5. 浏览全部学生数据 6.按学号查询
6、 7.插入学生信息 8. 按平均分排序 9. 分段统计 10.退出 11. 返回主界面 5 6学号查询:按学号查询学生信息。 7插入学生信息:插入新学生信息。 8按平均分排序:按平均分高低显示学生记录。 9分段统计:查询各等次学生信息。 10 退出系统。 11. 返回主界面。 (3)程序流程图 详细设计详细设计 源程序清单(重要程序段和其重要变量的说明) #include #include #include /*控制学生记录的容量控制学生记录的容量*/ #define N 40 开始 输入指令 (111) 输 入 新 数 据 添 加 学 生 数 据 修 改 学 生 数 据 删 除 学 生 数 据 浏 览 全 部 学 生 学 号 查 询 插 入 学 生 信 息 按 平 均 分 排 序 分 段 统 计 退 出 1 2 3 4 5 6 7 8 9 10 结束 11 6 #define PR printf(