数据结构课程设计报告之成绩分析与全国交通咨询模拟.doc
《数据结构课程设计报告之成绩分析与全国交通咨询模拟.doc》由会员分享,可在线阅读,更多相关《数据结构课程设计报告之成绩分析与全国交通咨询模拟.doc(55页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、?数据结构?课程设计报告1、 成绩分析问题2、 全国交通咨询模拟 学院系: 计算机科学与工程学院 班 级: 11级36X班 学生姓名: XXX 学号1110306010X 指导教师: XXX 2012年12月17日 到2013年1月 4日一、课程设计概述:本次数据结构课程设计共完成两个题:成绩分析问题和全国交通咨询模拟。使用语言:C+二、课程设计题目一实验内容成绩分析文档资料问题描述录入、保存一个班级学生多门课程的成绩,并对成绩进行分析。需求分析1.通过键盘输入各学生的多门课程的成绩,建立相应的文件中的数据进行处理,要求具有如下功能:的成绩排序,并生成相应的文件输出b.计算每人的平均成绩,按平
2、均成绩排序,并生成文件c.求出各门课程的平均成绩、不及格人数、6069分人数、7079分人数、8089分人数、90分以上人数d.根据姓名或学号查询某人的各门课成绩,重名也要能处理概要设计-=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)/分数输入
3、函数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/学生信息结构体cha
4、r num11;/学号 char name20;/姓名 int score8;/成绩英语 数学 C语言 管理学 信检 体育 近代史 线数 double ave;/平均分stuN;typedef struct node unsigned long int key; struct node * link;HNode;typedef structint key; /*排序码*/ float data;/*其他数据项*/RecNode; 流程图1程序设计组成框图学生成绩管理系统1. 输入新数据2. 添加学生数据3. 修改学生数据4. 删除学生数据5. 浏览全部学生数据6.按学号查询7.插入学生信息8.
5、 按平均分排序9. 分段统计11. 返回主界面 2模块功能说明1 输入新数据:完成全部学生记录的输入。2 添加数据:添加新学生所有信息。3 增加功能:增加新学生的局部信息。 4 删除功能:删除学生信息。5浏览全部学生数据:输出所有学生信息。6学号查询:按学号查询学生信息。7插入学生信息:插入新学生信息。8按平均分排序:按平均分上下显示学生记录。9分段统计:查询各等次学生信息。 10 退出系统。11. 返回主界面。3程序流程图开始输入指令111输入新数据添加学生数据修改学生数据删除学生数据浏览全部学生数据学号查询插入学生信息按平均分排序分段统计退出123456789100结束110详细设计 源程
6、序清单重要程序段和其重要变量的说明#include#include#include/*控制学生记录的容量*/#define N 40#define PR printf(nr%s %s %s %s %s %s %s %s %s %s %s ,stui.num,stui.name,stui.score0,stui.score1,stui.score2,stui.score3,stui.score4,stui.score5,stui.score6,stui.score7,stui.score8,stui.ave)struct studentchar num11; char name20; int s
7、core8; float ave;stuN;typedef struct node unsigned long int key; struct node * link;HNode;typedef structint key; /*排序码*/ float data;/*其他数据项*/RecNode;/*全新保存函数*/save(int n) /*保存函数,保存n个记录*/FILE *fp; int i; if(fp=fopen(sc.txt,wb)=NULL) /*以输出翻开方式,在此前的记录被覆盖*/ printf(n不能翻开文件n); getch();return NULL; for(i=0
8、;in;i+) if(stui.ave!=0) /*stui.ave=0表此记录已删除*/ if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(文件输入错误n); fclose(fp); return 0;/*加载记录或可以计算记录个数的函数*/int load() /*加载记录或可以计算记录个数的函数*/FILE *fp; int i; if(fp=fopen(sc.txt,rb)=NULL) /*以输出翻开方式,在此前的记录被覆盖*/ printf(n不能翻开文件n); getch();return NULL; for(i=0;!
9、feof(fp);i+) fread(&stui,sizeof(struct student),1,fp); fclose(fp); return(i-1); /*返回记录个数*/void puts_() /*显出-函数*/puts(n-);/*显示数据结构工程函数*/void printf_face() /*显示数据结构工程*/printf(n 学号 姓名 英语 数学 C语言 管理学 信检 体育 近代史 线数 平均分n);/*显示一个记录的函数*/printf_one(int i) /*显示一个记录的函数*/int j; printf(%12s %-9s,stui.num,stui.name
10、); for(j=0;j8;j+) printf(%-6d,stui.scorej); printf(%n,stui.ave); return 0;teacher();/*浏览(全部)模块*/browse() /*浏览(全部)模块*/int i,n; n=load(); /*加载记录*/ system(cls); puts_(); printf_face(); /*调用显示数据结构工程函数*/ for(i=0;in;i+) if(i!=0)&(i%10=0) /*目的是分屏显示*/ printf(nnPass any key to contiune . . .); getch(); puts(
11、nn); printf_one(i); /*调用显示一个记录的函数*/ puts_(); printf(tThere are %d record.n,n); printf(nPass any key to back . . .); getch(); /*按任意健*/ teacher(); return 0;/*一个任务结束时的选择浏览还是返回的函数*/void printf_back() /*一个任务结束时的选择浏览还是返回*/int w; printf(nnt-成功 -nn); printf(请选择:nnt1).现在浏览全部t2).返回: bb); scanf(%d,&w);system(c
12、ls); if(w=1) browse(); else teacher();average(int i) /*对第i个记录的分数求平均值*/int j; int sum; for(sum=0,j=0;j8;j+) sum+=stui.scorej; stui.ave=sum/8.0; return 0;/*学号输入函数*/no_input(int i,int n) /*i表示第i个的学生信息,n表示比拟到第n个学生*/int j,k,w1; do w1=0; printf(学号:); scanf(%s,stui.num); for(j=0;stui.numj!=0;j+) /*学号输入函数,作
13、了严格规定*/ if(stui.numj9) /*判断学号是否为数字*/ puts(Input error! Only be made up of (0-9).Please reinput!n); w1=1;break; if(w1!=1) for(k=0;kn;k+) /*比拟到第n个学生*/ /*排除第i个学生记录即你要修改的*/ if(k!=i&strcmp(stuk.num,stui.num)=0) /*判断学号是否有雷同*/ puts(该记录已存在. 请重新输入!n); w1=1;break; while(w1=1); return 0;/*对分数输入*/score_input(in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 成绩 分析 全国 交通 咨询 模拟
限制150内