ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:540.21KB ,
资源ID:9443298      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9443298.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生运动会成绩数据库.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

学生运动会成绩数据库.docx

1、学生运动会成绩数据库滁州学院课程设计报告课程名称: 数据结构课程设计报告 设计题目: 学生运动会成绩数据库 系 别: 计算机科学与技术系 专 业: 计算机科学与技术专业 组 别: 第三组 起止日期: 2011年5月20日2011年6月20日 指导教师: 杨斌 计算机科学与技术系二九年制课程设计题目学生运动会成绩数据库组长李通学号2010211104班级计科101系别计算机科学与技术系专业计算机科学与技术专业组员冯婷婷、黄华、蒋陆陆指导教师杨斌课程设计目的深入理解数据结构的基本理论,掌握数据存储结构的设计方法,掌握数据结构基于的各种操作的实现方法课程设计所需环境Microsoft Visual

2、C+ 6.0课程设计任务要求用数据结构的基本理论和数据存储的设计方法完成一个实际应用问题,在完成程序设计的同时能够写出比较规范的设计报告课程设计工作进度计划序号起止日期工 作 内 容分工情况12011/5/24-2011/6/1Push()、Delete()、Change()添加 删除 修改 要稍微详细描述下功能李通完成 22011/5/24-2011/5/28Addupscore()、Sort()合计 排序黄华完成32011/5/24-2011/5/29Malesort()、Femalesort()男生排序 女生排序蒋陆陆完成42011/5/24-2011/5/29Acasearch()、I

3、temsearch()按系部查找 按项目查找冯婷婷完成520115/24-2011/5/30main()、 Mainmenu()主函数 主菜单朱路平完成62011/6/2-2011/6/15课程设计报告冯婷婷完成:引言与需求分析蒋璐璐完成:概要设计黄华完成:调试与操作说明李通完成:课程设计总结与体会朱路平完成:实验报告其余部分 指导教师签字: 年 月 日教研室审核意见:教研室主任签字: 年 月 日课程设计任务书目 录引言 1需求分析 12.1 问题描述 12.2 设计思路 22.3 运行环境及开发工具 2概要设计 23.1 流程图 23.2 主要数据结构 33.3 函数及其实现的功能 3详细设

4、计 44.1 程序代码 4调试与操作说明 145.1 操作说明 145.2 运行结果 14课程设计总结与体会 206.1 总结 206.2 收获与体会 21致谢 21参考文献 21课程设计的主要内容引言数据结构主要介绍一些最常用的数据结构,阐明各种数据结构内在的逻辑关系,讨论其在计算机中的存储表示,以及在其上进行各种运算时的实现算法,并对算法的效率进行简单的分析和讨论。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。 需求分析2.1 问题描述题目:学生运动会成

5、绩数据库功能:学生运动会成绩数据库系统记录某校运动会上全部运动项目,各系获得的分数及排名的情况,包括50、100、200,400,1500米,跳高,跳远,标枪,铅球铁饼等。进入系统后可以输入和修改某个项目的结果情况,可以按各系院编号输出总分;按总分排序;按男团体总分排序 ;按系院编号查询;按项目编号查询;按女团体总分排序。分步实施:1) 初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2) 完成最低要求:建立一个文件,包括某个系,5个项目的得分情况,能对文件中地信息进行扩充(追加),修改和删除;3) 进一步要求:完成对多个系,多个项目的得分排序,以及完成系统查询功能。有兴趣的同学

6、可以自己扩充系统功能。键盘输入:系院数目,男子项目数女子项目数,(每项目取前三名,分别为10,5,2分)要求:1) 界面友好,函数功能要划分好2) 总体设计应画流程图3) 程序要加必要的注释4) 要提供程序测试方案5) 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。2.2 设计思路 表1 系部项目信息表501001500跳高跳远男子女子男子女子男子女子男子女子男子女子计算机系数学系经管系如上图所示,即是为学生运动会所列出的表格,根据此表格即可定义Academy和Score两个结构体,定义且完成数据的输入操作后再对其进行添加系、添加项目、更改数据、查询总分、按

7、总分男子团体总分和女子团体总分分别查询排名等操作即可。2.3 运行环境及开发工具运行环境 Microsoft Visual C+ 6.0;开发工具 C/C+概要设计3.1 流程图图3.1 程序总流程图3.2 主要数据结构结构原型由上表所示,建立包含系名称和编号的代表系的结构体Academy、代表整个表格的Score结构体和交换变量结构体change。具体数据结构定义如下:typedef struct/定义系结构体,包括系名和该系的编号 char name20; int num;Academy;typedef struct Academy AcaMaxnum; struct int male;

8、int female; scoreMaxnumMaxnum; int m,n,b,g;/m、n、b、g分别代表系数目、项目数目、男子项目数和女子项目数。Score;typedef struct/定义一个交换变量结构体 int score; char name20;change;name20和num分别为系名称和编号,scoreMaxnumMaxnum为表格中的数值,m、n、b、g分别代表系数目、项目数目、男子项目数和女子项目数。3.3 函数及其实现的功能程序中除了main主函数外还包括九个函数(即实现九种功能)和将这九种功能集成在一起的功能函数Mainmenu。这九个函数分别为:1、 Push

9、(Score*p)功能:在定义好的学生运动会数据库中添加新的系或者项目,并为新添加的系或项目输入成绩数据。操作:输入标示符flag和要添加的数目f,若flag为0,则再输入系名称、编号以及成绩数据;若flag为1,则再输入每个系在新项目中的成绩数据。2、Change(Score*p)功能:更改某一个系目的分数。操作:输入要更改系项目的系编号、项目编号、男子或女子选项和更改后的分数。3、Addupscore(Score*p)功能:核算各个系的总分。操作:按系编号输出核算后的结果。4、Sort(Score*p)功能:核算各个系的总分,并按分数高低进行排名。操作:按排名先后输出系总分。5、Males

10、ort(Score*p)功能:核算各个系的男子项目总分,并按分数高低进行排名。操作:按排名先后输出系男子项目总分。6、Femalesort(Score*p)功能:核算各个系的女子项目总分,并按分数高低进行排名。操作:按排名先后输出系女子项目总分。7、Acasearch(Score*p)功能:查找特定系所有项目的分数。操作:输入待查找的系编号,并输出该系所有项目的分数。8、Itemsearch(Score*p)功能:查找特定项目的所有系分数。操作:输入待查找的项目编号,并输出该项目所有系的分数。9、Delete(Score*p)功能:删除某个系操作:输入该系的编号,删除该系详细设计4.1 程序代

11、码#include#include#include#include#include#define Maxnum 50typedef struct/定义系结构体,包括系名和该系的编号 char name20; int num;Academy;typedef struct Academy AcaMaxnum; struct int male; int female; scoreMaxnumMaxnum; int m,n,b,g;/m、n、b、g分别代表系数目、项目数目、男子项目数和女子项目数。Score;typedef struct int score; char name20;change;/v

12、oid Mainmenu(Score *p);/void Push(Score *p)/在定义好的学生运动会数据库中添加新的系部或者项目,并为新添加的系部或项目输入成绩数据 char ch; char m10; int flag,i,j,n; FILE *fp; printf(添加新的系部,请输入flag=0: ); scanf(%d,&flag); if(flag = 0) if(fp = fopen(fp.txt,a) = NULL)/以追加方式打开文本文档 printf(File open error!); exit(0); printf(输入系部编号:); cinn; printf(输

13、入系部名称:); cinm; printf(输入各项目男女分数:); for(j = 0; j n; j+) scanf(%d%d,&p-scoreij.male,&p-scoreij.female); printf(n); fprintf(fp,n); fprintf(fp,%d%s,n,m); for(j = 0; j n; j+) fprintf(fp,%4d%4d,p-scoreij.male,p-scoreij.female); if(fclose(fp) printf(Cant close the file!); exit(0); if(fp = fopen(fp.txt,r) =

14、 NULL) printf(File open error!); exit(0); while(!feof(fp)/判断读写位置指针是否指向文件尾 ch = fgetc(fp);/从磁盘文件读入一个字符到ch putchar(ch); if(fclose(fp) printf(Cant close the file!); exit(0); p-m+; Mainmenu(p);/void Delete(Score *p)/删除某个系 int i,j,f; char ch; Academy AcaMaxnum; FILE *fp; if(fp = fopen(fp.txt,r) = NULL) p

15、rintf(File open error!); exit(0); for(i = 0; i m; i+) fscanf(fp,%d%s,&Acai.num,Acai.name); for(j = 0; j n; j+) fscanf(fp,%d%d,&p-scoreij.male,&p-scoreij.female); if(fclose(fp) printf(Cant close the file!); exit(0); printf(请选择要删除的系部序号:); scanf(%d,&f); printf(n); for(int k = f; k m-1; k+) Acak.num = A

16、cak+1.num; strcpy(Acak.name,Acak+1.name); for(j = 0; j n; j+) p-scorekj.male = p-scorek+1j.male; p-scorekj.female = p-scorek+1j.female; p-m-; if(fp = fopen(fp.txt,w+) = NULL)/建立新文本文档进行读/写 printf(File open error!); exit(0); for(i = 0; i m; i+) fprintf(fp,%3d%5s,Acai.num,Acai.name); for(j = 0; j n; j+

17、) fprintf(fp,%4d%4d,p-scoreij.male,p-scoreij.female); fprintf(fp,n); if(fclose(fp) printf(Cant close the file!); exit(0); if(fp = fopen(fp.txt,r) = NULL) printf(File open error!); exit(0); while(!feof(fp) ch = fgetc(fp); putchar(ch); if(fclose(fp) printf(Cant close the file!); exit(0); Mainmenu(p);

18、/void Change(Score *p)/更改某一个系部项目的分数。 int i,j,sex,f; FILE *fp; char ch; Academy AcaMaxnum; if(fp = fopen(fp.txt,r)=NULL) printf(File open error!); exit(0); for(i = 0; i m; i+) fscanf(fp,%d%s,&Acai.num,Acai.name); for(j = 0; j n; j+) fscanf(fp,%d%d,&p-scoreij.male,&p-scoreij.female); printf(sex为0时代表男生

19、,为1时代表女生n); printf(Please put in the academy num,the item num ,male or female and the score:); scanf(%d %d %d %d,&i,&j,&sex,&f); printf(n); if(sex = 0) p-scoreij.male = f; if(sex = 1) p-scoreij.female = f; if(fclose(fp) printf(Cant close the file!); exit(0); if(fp = fopen(fp.txt,w+)=NULL) printf(Fil

20、e open error!); exit(0); for(i = 0; i m; i+) fprintf(fp,%3d%5s,Acai.num,Acai.name); for(j = 0; j n; j+) fprintf(fp,%4d%4d,p-scoreij.male,p-scoreij.female); fprintf(fp,n); if(fclose(fp) printf(Cant close the file!); exit(0); if(fp = fopen(fp.txt,r) = NULL) printf(File open error!); exit(0); while(!fe

21、of(fp) ch = fgetc(fp); putchar(ch); if(fclose(fp) printf(Cant close the file!); exit(0); Mainmenu(p);/void Addupscore(Score *p)/核算各个系部的总分 int i,j,f = 0; FILE *fp; Academy *y; y = (Academy *)malloc(sizeof(Academy); if(fp = fopen(fp.txt,r) = NULL) printf(File open error!); exit(0); for(i = 0; i m; i+)

22、 /计算各个系的男女总分 fscanf(fp,%d%s,&y-num,y-name); printf( %d %8s 总分:,y-num,y-name); for(j = 0; j n; j+) /计算一个系所有项目男女总分 fscanf(fp,%d%d,&p-scoreij.male,&p-scoreij.female); if(p-scoreij.male != -1) f += p-scoreij.male; if(p-scoreij.female != -1) f += p-scoreij.female; printf(%2dn,f); f = 0; printf(n); if(fcl

23、ose(fp) printf(Cant close the file!); exit(0); Mainmenu(p);/void Sort(Score *p)/核算各个系部的总分,并按分数高低进行排名。 int i,j; change aMaxnum,t; /定义一个数组 存储一个系的系名和总分 int h12; FILE *fp; Academy *y; y = (Academy *)malloc(sizeof(Academy); for(i = 0; i m; i+) hi = i+1; if(fp = fopen(fp.txt,r) = NULL) printf(File open error!); exit(0); for(i = 0; i m; i+) /计算各个系的男女总分 fscanf(fp,%d %s,&y-num,y-name); ai.score = 0; strcpy(ai.name,y-na

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2