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