运动会管理系统毕业论文_第1页
运动会管理系统毕业论文_第2页
运动会管理系统毕业论文_第3页
运动会管理系统毕业论文_第4页
运动会管理系统毕业论文_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、. . . . 摘要运动会管理系统是典型的信息管理系统,该系统属简易类型,可以完成运动会管理中的基本操作,包括数据信息的录入、数据的修改、数据的删除和数据的显示。本文中的系统程序合理,简单易懂。同时,对系统的开发原理,系统的功能特点和设计方案进行了介绍。通过流程图和截图说明了系统的运行情况,接着又进行数据测试,得到结果进行分析,得出本系统的优点和不足。根据更高的需求,可以在这简易系统的原理下,可以进一步增加数据,提高实用性。关键词:运动会;管理系统;c语言25 / 28AbstractGames management system is typical of information manag

2、ement systems, we made this system is a simple type, you can complete the games management the basic operations, including data entry, data modification, data deletion and data display. This article first to use VC+6.0 to write programming tools, the program reasonable, simple and understandable. At

3、 the same time, principles of system development, system characteristics and design features were introduced. Provides flow diagrams and screenshots illustrate the operation of the system; data went on to have a test, analyze results and concluded that the strengths and weaknesses of the system. Acc

4、ording to the higher demand, can in principle with this simple system, data can be further increased, improving usability.Keywords: sports competition;management system ;c language目 录1概述11.1设计题目与要求11.2系统功能需求分析12总体设计32.1系统功能模块图33详细设计43.1工作流程图43.1.1 添加运动员数据函数43.1.2显示运动员数据函数63.1.3删除运动员数据函数73.1.4更改运动员数据

5、函数84调试分析104.1测试数据与其结果分析104.2源程序135总结23参考文献24致251概述本运动会管理系统是典型的信息管理系统,我们所做的该系统属简易类型,可以完成运动会管理中的基本操作,可以帮助裁判员记录和分析运动员的成绩以与排名情况,有效的减少裁判员的工作压力,还可以减少不必要的错误出现。1.1设计题目与要求1.运动会成绩管理系统的界面为汉字界面,输出输入均用汉字,并有操作提示,让用户如何操作;2.添加运动员数据:录入运动员信息,录入参赛运动员数量、编号、等;3.录入成绩:录入运动员各项目的成绩;4.查询所有运动员信息:并可自定义规则进行排序;5. 删除运动员数据:可删除各个运动

6、员的信息;6. 修改运动员数据:可以修改运动员的数据。1.2系统功能需求分析对程序设计题目的分析可知,整个程序的设计实现大致分为十一个模块,每一个模块对应一个函数。在这些函数当中,添加运动员数据函数,删除数据函数,修改数据函数和显示数据函数是严格按照题目的要求,而按某项成绩排序函数属于附加功能。读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数与菜单函数控制程序的整体运行。1.添加运动员数据函数 :主要实现程序最初运行时运动员数据的录入以与其后的运行中运动员数据的追加功能;2. 删除运动员数据函数:实现的功能是按照对运动员的数据记录进行删除;3.排序函数 :按照题目的具体要现的是某项

7、成绩的递减排序以与名次显示,其中总成绩一样者名次一样;4. 更改数据函数:可以实现对运动员的各项信息进行修改;5. 显示函数:实现的是显示目前所有的有效运动员记录信息。除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一个运动员记录都包含、,以与百米赛跑、铅球、跳高和跳远四门成绩,在程序当中,将运动员记录类型定义为结构体类型,添加以与追加的运动员信息直接写入E盘的student.txt文件中,其它函数每次对运动员记录的访问,其数据来源都是student.txt文件,这样做不但可以保证运动员数据的一致性,而且可以对运动员数据进行永久

8、保存,保证每次运行程序都可以采用原来的数据。2总体设计2.1系统功能模块图:运动会成绩管理系统主要由四部分管理模块组成,分别是添加模块、显示模块、删除模块和更改模块,图示如下:运动会成绩管理系统添加运动员数据显示运动员数据删除运动员数据更改运动员数据图2.1系统功能模块图3详细设计3.1工作流程图显示一系列功能选项输入n,判断n是否是1-9根据n的值调用各模块函数本程序主要由11个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,添加运动员数据函数、删除数据函数、更改数据函数、显示数据函数是程序中较为核心的部分,此外还可以对运动员的成绩进行排序

9、。下面分别进行说明。 N Y 图3.1主函数数据工作流程图Y 输入n判断n添加数据函数开始选择其他操作N3.1.1添加运动员数据函数图3.1添加数据流程图具体程序段如下: FILE *fp; int n,i; struct student stu; if(fp=fopen(e:student.txt,a)=NULL) /如果文件已经存在,可以追加学生信息 if(fp=fopen(e:student.txt,w)=NULL) / 文件不存在时,创建新文件,输入学生信息 printf(文件打开失败!n); return; printf(请输入要添加的运动员数量,按回车键确认:); scanf(%d

10、,&n); for(i=1;i=n;i+) printf(n请输入第%d个运动员的、,用空格分开,并按回车键确认:n,i); scanf(%s%s,stu.num,); printf(n请输入第%d个运动员的百米赛跑、铅球、跳高和跳远四项成绩,用空格分开,并按回车键确认:n,i); scanf(%f%f%f%f,&stu.baimi,&stu.qianqiu,&stu.tiaogao,&stu.tiaoyuan);fprintf(fp,%s %s %f %f %f %fn,stu.num,,stu.baimi,stu.qianqiu,stu.tiaogao,st

11、u.tiaoyuan); fclose(fp);输入n 判断n显示运动员数据开始选择其他操作N3.1.2显示运动员数据函数 Y图3.2显示数据流程图shhhkjjjjkkjshufvhbvjxvfjiioszjioziokfjdskdfjvkkdkliuliuchengDDSCDCKJHKKJCKDCNMNMKKLIUCHENGTU具体程序段如下:struct student stuN;int i,n;n=reads(stu);printf(*所有的学生信息如下*nn);printf( 序号 百米赛跑 铅球 跳高 跳远 n);printf(*n); for(i=0;in;i+)printf(n

12、%3d%12s%11s%11.2f%12.2f%11.2f%11.2fn,i+1,stui.num,,stui.baimi,stui.qianqiu,stui.tiaogao,stui.tiaoyuan);getch();3.1.3删除运动员数据函数输入n判断n删除运动员数据开始选择其他操作NY图3.3删除数据流程图具体程序段如下:struct student stuN;char number20;int n,i,j;n=reads(stu);printf(n请输入要删除信息运动员,按回车键确认:);scanf(%s,number);for(i=0;i=n)printf(没有

13、找到该运动员信息!n);return;elsefor(j=i+1;jn;j+)stuj-1=stuj;save(stu,n-1);printf(删除成功!n);3.1.4 更改运动员数据函数输入n判断n更改运动员数据开始选择其他操作YN 图3.4更改数据流程图具体程序段如下: struct student stuN; int n,i; char number20; printf(n请输入要更改信息的学生学号,按回车键确认:); scanf(%s,number); n=reads(stu); for(i=0;i=n) printf(无此学生信息!); return; printf(n请输入更改后

14、学生的,百米赛跑、铅球、跳高、跳远四门成绩,按回车键确认:n);scanf(%s%s%f%f%f%f,stui.num,,&stui.baimi,&stui.qianqiu,&stui.tiaogao,&stui.tiaoyuan); save(stu,n);4调试分析4.1测试数据与结果分析图4.1主菜单函数界面图4.2数据录入 图4.3 数据显示 图4.4 数据更改图4.5 数据排序按照测试结果初步分析可见,当n值的输入符合预先设定在19之间时,将会执行相对应的函数模块;当n值不在这个围时程序将会出现错误提示,主界面将会再次弹出,用户需重新输入。总的来说,本程序基本符合设

15、计要求,可以实现设计要求的各项操作。本系统操作比较简单,提示清晰。但是本系统还是存在一些不足,如界面比较简单等,具有一定的局限性。4.2源程序:#include#include#includeconio.h#define N 20struct studentchar num20; char name10; float baimi; float qianqiu; float tiaogao; float tiaoyuan;void menu();int reads(struct student stuN);void save(struct student stuN,int n);void add

16、();void del();void sort(); void kdie();void keep();void sheep();void query();void show();void change();void main() int n; while(1) menu();printf(n 请输入您要选择的操作序号,按回车键确认:); scanf(%d,&n); switch(n) case 1: add();break; case 2: show();break; case 3: del();break; case 4: change();break; case 5: sort();bre

17、ak; case 6:kdie();break; case 7: keep();break; case 8 :sheep();break; case 9: exit(0); default: printf(输入错误,请输入列表中存在的序号!n ); void menu() printf(n * 运动员成绩管理系统*); printf(n * 1 添加运动员数据 *); printf(n * 2 显示运动员数据 *); printf(n * 3 删除运动员数据 *); printf(n * 4 更改运动员数据 *); printf(n * 5 百米成绩排序 *); printf(n * 6 铅球

18、成绩排序 *); printf(n * 7 跳高成绩排序 *); printf(n * 8 跳远成绩排序 *); printf(n * 9 退出 *); printf(n*);int reads(struct student stuN) / 读取运动员文件中的容 FILE *fp; int i=0; if(fp=fopen(e:student.txt,r)=NULL) printf(文件打开失败!n); return 0; elsefor(i=0;!feof(fp);i+)scanf(fp,%s %s %f %f %f %fn,stui.num,,&stui.baimi,&s

19、tui.qianqiu,&stui.tiaogao,&stui.tiaoyuan); fclose(fp); return i;void save(struct student stuN,int n) / 运动员信息改变后更新文件 FILE *fp; int i=0;if(fp=fopen(e:student.txt,w)=NULL) printf(文件打开失败!n); return ; elsefor(i=0;in;i+) fprintf(fp,%s %s %f %f %f %fn,stui.num,,stui.baimi,&stui.qianqiu,stui.tiaoga

20、o,stui.tiaoyuan); fclose(fp);void add()/*添加运动员信息*/ FILE *fp; int n,i; struct student stu; if(fp=fopen(e:student.txt,a)=NULL) /如果文件已经存在,可以追加学生信息 if(fp=fopen(e:student.txt,w)=NULL) / 文件不存在时,创建新文件,输入学生信息 printf(文件打开失败!n); return; printf(请输入要添加的运动员数量,按回车键确认:); scanf(%d,&n);for(i=1;i=n;i+) printf(n请输入第%d

21、个运动员的、,用空格分开,并按回车键确认:n,i); scanf(%s%s,stu.num,); printf(n请输入第%d个运动员的百米赛跑、铅球、跳高和跳远四项成绩,用空格分开,并按回车键确认:n,i); scanf(%f%f%f%f,&stu.baimi,&stu.qianqiu,&stu.tiaogao,&stu.tiaoyuan); fprintf(fp,%s %s %f %f %f %fn,stu.num,,stu.baimi,stu.qianqiu,stu.tiaogao,stu.tiaoyuan); fclose(fp);void show()

22、 / 运动员信息显示函数 struct student stuN; int i,n;n=reads(stu);printf(*所有的学生信息如下*nn);printf( 序号 百米赛跑 铅球 跳高 跳远 n);printf(*n); for(i=0;in;i+)printf(n%3d%12s%11s%11.2f%12.2f%11.2f%11.2fn,i+1,stui.num,,stui.baimi,stui.qianqiu,stui.tiaogao,stui.tiaoyuan); getch();void del() /*运动员信息删除函数*/ struct student

23、stuN; char number20; int n,i,j; n=reads(stu); printf(n请输入要删除信息运动员,按回车键确认:); scanf(%s,number); for(i=0;i=n) printf(没有找到该运动员信息!n); return; else for(j=i+1;jn;j+) stuj-1=stuj; save(stu,n-1); printf(删除成功!n);void change() /学生信息更改 struct student stuN; int n,i; char number20; printf(n请输入要更改信息的学生学号,按回车键确认:);

24、 scanf(%s,number); n=reads(stu); for(i=0;i=n) printf(无此学生信息!); return; printf(n请输入更改后学生的,百米赛跑、铅球、跳高、跳远四门成绩,按回车键确认:n);scanf(%s%s%f%f%f%f,stui.num,,&stui.baimi,&stui.qianqiu,&stui.tiaogao,&stui.tiaoyuan); save(stu,n);void sort() / 按百米赛跑成绩排名struct student stuN,temp;int i,j,n;n=reads(stu);for(i

25、=0;in-1;i+)for(j=0;jn-1;j+)if(stuj.baimistuj+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)printf(n%3d%12s%11s%11.2f%11.2f%11.2f%11.2fn,j,stui.num,,stui.baimi,stui.b

26、aimi);elseprintf(n%3d%12s%11s%11.2f%11.2f%11.2f%11.2fn,j+,stui.num,,stui.baimi,stui.baimi); getch();void kdie() / 按铅球成绩排名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.qianqiustuj+1.qianqiu)temp=stuj;stuj=stuj+1;stuj+1=temp;save(stu,n); j=1 ;printf(*

27、铅球成绩排序结果如下*nn); printf( 名次 铅球 成绩 n);printf(*n); for(i=0;in;i+) / 输出结果并排名 if(stui.baimi=stui+1.qianqiu)printf(n%3d%12s%11s%11.2f%11.2f%11.2f%11.2fn,j,stui.num,,stui.qianqiu,stui.qianqiu); elseprintf(n%3d%12s%11s%11.2f%11.2f%11.2f%11.2fn,j+,stui.num,,stui.qianqiu,stui.qianqiu); getch

28、();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.tiaogaostuj+1.tiaogao)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.tiaogao=stui+1.tiaogao)pr

29、intf(n%3d%12s%11s%11.2f%11.2f%11.2f%11.2fn,j,stui.num,,stui.tiaogao,stui.tiaogao); elseprintf(n%3d%12s%11s%11.2f%11.2f%11.2f%11.2fn,j+,stui.num,,stui.tiaogao,stui.tiaogao); 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+

30、)if(stuj.tiaoyuanstuj+1.tiaoyuan)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.tiaoyuan=stui+1.tiaoyuan)printf(n%3d%12s%11s%11.2f%11.2f%11.2f%11.2fn,j,stui.num,,stui.tiaoyuan,stui.tiaoyuan);elseprintf(n%3d%12s%11s%11.2f%11.2f%11.2f%11.2fn,j+,stui.num,,stui.tiaoyuan,stui.tiaoyuan);getc

温馨提示

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

评论

0/150

提交评论