运动会成绩管理系统.doc_第1页
运动会成绩管理系统.doc_第2页
运动会成绩管理系统.doc_第3页
运动会成绩管理系统.doc_第4页
运动会成绩管理系统.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题目: 运动会成绩管理系统实验报告 指导教师:指导教师: 班班 级级 : 学学 号号 : 学生姓名学生姓名 : 专专 业业 : 20112011 年年 1111 月月 目录目录 (一)主要内容(一)主要内容 2 (二)基本要求(二)基本要求 2 摘要摘要 1 1.1.绪论绪论 1 2.2.系统分析系统分析 1 2.1 功能需求.1 2.2 数据需求2 2.3 性能需求2 3.3.总体设计总体设计 2 3.1 功能模块设计.2 3.2 系统设计方案3 4 4详细设计详细设计 4 4.1 录入信息模块.4 4.2 查询信息模块 .6 4.3 修改信息模块7 4.4 删除信息模块8 4.5 成绩排名模块10 5调试和测试调试和测试12 5.1 测试12 5.2 调试12 6.结论结论.13 7、结束语、结束语13 8、附录、附录源程序源程序13 一、一、课程设计的内容及要求:课程设计的内容及要求: (一)主要内容(一)主要内容 设计一个运动会成绩管理程序,主要实现以下功能: 1、检录功能,登录参赛运动员的信息; 2、记录成绩功能,每项比赛结束后记录参赛运动员的成绩; 3、针对不同比赛对运动员的成绩排名次; 4、可对运动员的信息和成绩进行修改、删除、查询操作。 (二)基本要求(二)基本要求 1、系统采用所学相关课程中编辑程序设计语言实现; 2、独立完成系统的设计、编码和调试,通过指导教师当场验收; 3、交出完整的课程设计报告。 1 摘要摘要 运动会是一个全民健身的活动,在运动会里可以提高人们的身体素质,培养人们的素 养。在参加运动会的过程中我们可以看到激情和友情的碰撞,人们用自己的实力来赢得 第一。开发本系统是为了更方便,在运动会中做比赛数据的记录,方便记录比赛成绩。 本系统使用 c 语言作为开发语言。实现了对运动会的结果提示以及对成绩的储存和对 成绩的排名。 本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设 计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成 情况进行了总结。 关键词:c 语言;运动会;信息管理 1.1.绪论绪论 运动会成绩管理程序设计的开发是为了方便记录比赛成绩,运动员的状况和成绩, 对比赛成绩进行排名。这个系统以快捷,简便为原则,更加方便了对运动会成绩的记录。 运动会是很早以前就有的一项组织性活动,它的存在使人们的身体得到了锻炼。运动会 是一项必不可少的活动,所以开发这个系统可以使运动会成绩的记录变的更加方便。 设计一个运动会成绩管理程序,主要实现以下功能: 1、检录功能,登录参赛运动员的信息; 2、记录成绩功能,每项比赛结束后记录参赛运动员的成绩; 3、针对不同比赛对运动员的成绩排名次; 4、可对运动员的信息和成绩进行修改、删除、查询操作。 2.2.系统分析系统分析 2.12.1 功能需求功能需求 本系统要求对运动员的信息进行登录修改,记录,查询,要求可以对运动员的成绩 进行单项排名。主要实现程序最初运行时运动员数据的录入以及其后的运行数据的追加 2 功能,实现的功能是按照号码对运动员的数据记录进行修改、记录、查询、删除,按照 题目的具体要求实现的是某项成绩的递减排序以及名次显示。 2.2 数据需求数据需求 在这些函数当中,添加运动员数据函数例如运动员序号、运动员名称、百米赛跑成 绩、三级跳成绩和撑杆跳成绩。 2.3 性能需求性能需求 本系统的性能需求:要求运行稳定、数据可靠、输出准确、响应速度快、可安全运行、 能很好的保存、删除、修改。可以及时保存存储删除数据,可对成绩进行排名,显示即 时成绩 3.3.总体设计总体设计 3.13.1 功能模块设计功能模块设计 经过对程序设计题目的分析可知,整个程序的设计实现大致分为 5 个模块,每一 个模块对应一个函数。在这些函数当中,添加运动员数据函数,删除数据函数,某项成 绩排序函数的实现严格按照题目的要求,而更改数据函数和显示函数属于附加功能。读 取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序 的整体运行。录入信息模块是录入运动员信息、查询信息模块是查询运动员信息的、修 改信息模块可以对运动员信息进行修改、删除模块可对运动员信息进进行删除、成绩排 名是对运动员的成绩进行排名,功能模块见图 1 所示。 3 图图 1 1 功能模块图功能模块图 3.2 系统设计方案系统设计方案 本系统中用到了结构体数组和数据的存储。该结构体数组中包含字符串,系统的设计 方案如下: (1)数据结构 struct student char num20;/运动员号码 char name10;/运动员名字 float baimi;/百米赛跑成绩 float sanjitiao;/三级跳成绩 float chenggantiao;/撑杆跳成绩 4 ; (2)菜单 设计一个总菜单,0、查询运动员数据;1、添加运动员数据;2、显示运动员数据;3、 删除运动员数据;4、修改运动员数据;5、百米成绩排序;6、三级跳成绩排序;7 撑杆 跳成绩排序;8、退出;基本功能的实现都将体现在这几个菜单选项中。 (3) 函数 定义了 12 个函数 void menu(); int reads(struct student stun);/读取运动员信息 void save(struct student stun,int n);/储存运动员信息 void search();/查询运动员信息 void add();/添加运动员信息 void del();/删除运动员信息 void sort();/ 按百米赛跑成绩查询 void keep();/按三级跳成绩查询 void sheep();/按撑杆跳成绩查询 void query();/退出程序 void show();/显示运动员信息 void change();/更改运动员信息 4 4详细设计详细设计 4.14.1 录入信息模块录入信息模块 1. 添加数据函数 添加数据分为两种情况,其一是在运动员文件(student.txt)不存在的情况下,首 先由程序创建一个新文件,并将录入的运动员信息写入该文件当中;其二是在运动员文 件(student.txt)已经存在的情况下,此时文件以追加的方式打开,这样才可以保证以 前已经存在的数据不丢失。 5 开始 fp=fopen(“c:student.txt”a ”)=null file*fp;int n,i; struct student stu; fp=fopen(“c:student.txt”,”w ”)=null “文件打开失败!n” 输入要添加 运动员数量 i=1 scanf(”%s%s”,stu.num, ); scanf(“%f%f%f”, fprintf(fp,”%s%s%f%f%fn”,stu.n um,,stu.baimi,stu.sanjitiao ,stu.chenggantiao); i+ i=n 没有找到该 运动员信息 j=i+1 stuj-1 stuj; save(stu,n-1); j+j #include #include #include“conio.h“ #define n 20 struct student char num20; char name10; 14 float baimi; float sanjitiao; float chenggantiao; ; void menu(); int reads(struct student stun); void save(struct student stun,int n); void search(); void add(); void del(); void sort(); void keep(); void sheep(); void query(); void show(); void change(); int reads(struct student stun) / 读取运动员文件中的内容 file *fp; int i=0; if(fp=fopen(“c:student.txt“,“r“)=null) printf(“文件打开失败!n“); return 0; else for(i=0;!feof(fp);i+) 15 fscanf(fp,“%s %s %f %f %fn“,stui.num,, fclose(fp); return i; void save(struct student stun,int n) / 运动员信息改变后更新文件 file *fp; int i=0; if(fp=fopen(“c:student.txt“,“w“)=null) printf(“文件打开失败!n“); return ; else for(i=0;i=n) printf(“没有找到该运动员信息!n“); return; else for(j=i+1;j=n) printf(“无此学生信息!“); return; printf(“n 请输入更改后学生的号码,姓名,百米赛跑、三级跳、撑杆跳三门成绩, 按回车键确认:n“); scanf(“%s%s%f%f%f“,stui.num,, save(stu,n); void sort() / 按百米赛跑成绩排名 20 struct student stun,temp; int i,j,n; n=reads(stu); for(i=0;istuj+1.baimi) temp=stuj; stuj=stuj+1; stuj+1=temp; save(stu,n); j=1 ; printf(“*百米赛跑成绩排序结果如下 *nn“); printf(“ 名次 号码 姓名 百米赛跑 成绩 n“); printf(“* *n“); for(i=0;in;i+) / 输出结果并排名 if(stui.baimi=stui+1.baimi) if(stui.baimi!=0) printf(“n%3d%12s%11s%11.2f%11.2fn“,j,stui.num,,stui.baimi,s tui.baimi); else 21 printf(“n%3d%12s%11sttttn“,j,stui.num,); else printf(“n%3d%12s%11s%11.2f%11.2fn“,j+,stui.num,,stui.baimi, stui.baimi); getch(); void keep() / 按三级跳成绩排名 struct student stun,temp; int i,j,n; n=reads(stu); for(i=0;in-1;i+) for(j=0;jn-1;j+) if(stuj.sanjitiaostuj+1.sanjitiao)temp=stuj;stuj=stuj+1;stuj+1= temp; save(stu,n); j=1 ; printf(“*三级跳成绩排序结果如下 *nn“); printf(“ 名次 号码 姓名 三级跳 成绩 n“); printf(“* *n“); for(i=0;in;i+) / 输出结果并排名 if(stui.sanjitiao=stui+1.sanjitiao) 22 printf(“n%3d%12s%11s%11.2f%11.2fn“,j,stui.num,,stui.sanjitia o,stui.sanjitiao); else printf(“n%3d%12s%11s%11.2f%11.2fn“,j+,stui.num,,stui.sanjit iao,stui.sanjitiao); getch(); void sheep() / 按三级跳成绩排名 struct student stun,temp; int i,j,n; n=reads(stu); for(i=0;in-1;i+) for(j=0;jn-1;j+) if(stuj.chenggantiaostuj+1.chenggantiao)temp=stuj;stuj=stuj+1;s tuj+1=temp; save(stu,n); j=1 ; printf(“*撑杆跳成绩排序结果如下 *nn“); printf(“ 名次 号码 姓名 三级跳 成绩 n“); printf(“* *n“); for(i=0;in;i+) / 输出结果并排名 23 if(stui.chenggantiao=stui+1.chenggantiao) printf(“n%3d%12s%11s%11.2f%11.2fn“,j,stui.num,,stui.chenggan tiao,stui.chenggantiao); else printf(“n%3d%12s%11s%11.2f%11.2fn“,j+,stui.num,,stui.chengg antiao,stui.chenggantiao); getch(); void menu() p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论