• 580.00 KB
  • 2022-09-27 发布

运动会管理系统-毕业论文

  • 31页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
摘要运动会管理系统是典型的信息管理系统,该系统属简易类型,可以完成运动会管理中的基本操作,包括数据信息的录入、数据的修改、数据的删除和数据的显示。本文中的系统程序合理,简单易懂。同时,对系统的开发原理,系统的功能特点和设计方案进行了介绍。通过流程图和截图说明了系统的运行情况,接着又进行数据测试,得到结果进行分析,得出本系统的优点和不足。根据更高的需求,可以在这简易系统的原理下,可以进一步增加数据,提高实用性。关键词:运动会;管理系统;c语言\nAbstractGamesmanagementsystemistypicalofinformationmanagementsystems,wemadethissystemisasimpletype,youcancompletethegamesmanagementthebasicoperations,includingdataentry,datamodification,datadeletionanddatadisplay.ThisarticlefirsttouseVC++6.0towriteprogrammingtools,theprogramreasonable,simpleandunderstandable.Atthesametime,principlesofsystemdevelopment,systemcharacteristicsanddesignfeatureswereintroduced.Providesflowdiagramsandscreenshotsillustratetheoperationofthesystem;datawentontohaveatest,analyzeresultsandconcludedthatthestrengthsandweaknessesofthesystem.Accordingtothehigherdemand,caninprinciplewiththissimplesystem,datacanbefurtherincreased,improvingusability.Keywords:sportscompetition;managementsystem;clanguage\n目录1概述11.1设计题目及要求11.2系统功能需求分析12总体设计32.1系统功能模块图33详细设计43.1工作流程图43.1.1添加运动员数据函数43.1.2显示运动员数据函数63.1.3删除运动员数据函数73.1.4更改运动员数据函数84调试分析104.1测试数据及其结果分析104.2源程序135总结23参考文献24致谢25\n1概述本运动会管理系统是典型的信息管理系统,我们所做的该系统属简易类型,可以完成运动会管理中的基本操作,可以帮助裁判员记录和分析运动员的成绩以及排名情况,有效的减少裁判员的工作压力,还可以减少不必要的错误出现。1.1设计题目及要求1.《运动会成绩管理系统》的界面为汉字界面,输出输入均用汉字,并有操作提示,让用户如何操作;2.添加运动员数据:录入运动员信息,录入参赛运动员数量、编号、姓名等;3.录入成绩:录入运动员各项目的成绩;4.查询所有运动员信息:并可自定义规则进行排序;5.删除运动员数据:可删除各个运动员的信息;6.修改运动员数据:可以修改运动员的数据。1.2系统功能需求分析对程序设计题目的分析可知,整个程序的设计实现大致分为十一个模块,每一个模块对应一个函数。在这些函数当中,添加运动员数据函数,删除数据函数,修改数据函数和显示数据函数是严格按照题目的要求,而按某项成绩排序函数属于附加功能。读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。1.添加运动员数据函数:主要实现程序最初运行时运动员数据的录入以及其后的运行中运动员数据的追加功能;2.删除运动员数据函数:实现的功能是按照号码对运动员的数据记录进行删除;3.排序函数:按照题目的具体要求实现的是某项成绩的递减排序以及名次显示,其中总成绩相同者名次相同;4.更改数据函数:可以实现对运动员的各项信息进行修改;5.显示函数:实现的是显示目前所有的有效运动员记录信息。28\n除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。每一个运动员记录都包含号码、姓名,以及百米赛跑、铅球、跳高和跳远四门成绩,在程序当中,将运动员记录类型定义为结构体类型,添加以及追加的运动员信息直接写入E盘的student.txt文件中,其它函数每次对运动员记录的访问,其数据来源都是student.txt文件,这样做不但可以保证运动员数据的一致性,而且可以对运动员数据进行永久保存,保证每次运行程序都可以采用原来的数据。28\n2总体设计2.1系统功能模块图:《运动会成绩管理系统》主要由四部分管理模块组成,分别是添加模块、显示模块、删除模块和更改模块,图示如下:运动会成绩管理系统添加运动员数据显示运动员数据删除运动员数据更改运动员数据图2.1系统功能模块图28\n3详细设计3.1工作流程图显示一系列功能选项输入n,判断n是否是1--9根据n的值调用各模块函数本程序主要由11个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,添加运动员数据函数、删除数据函数、更改数据函数、显示数据函数是程序中较为核心的部分,此外还可以对运动员的成绩进行排序。下面分别进行说明。NY图3.1主函数数据工作流程图Y输入n判断n添加数据函数开始选择其他操作N3.1.1添加运动员数据函数图3.1添加数据流程图28\n具体程序段如下:{FILE*fp;intn,i;structstudentstu;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个运动员的号码、姓名,用空格分开,并按回车键确认:\n",i);scanf("%s%s",stu.num,stu.name);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%f\n",stu.num,stu.name,stu.baimi,stu.qianqiu,stu.tiaogao,stu.tiaoyuan);}fclose(fp);}28\n输入n判断n显示运动员数据开始选择其他操作N3.1.2显示运动员数据函数Y图3.2显示数据流程图shhhkjjjjkkjshufvhbvjxvfjiioszjioziokfjdskdfjvkkdkliuliuchengDDSCDCKJHKKJCKDCNMNMKKLIUCHENGTU具体程序段如下:{structstudentstu[N];inti,n;n=reads(stu);printf("*********************所有的学生信息如下**********************\n\n");printf("序号号码姓名百米赛跑铅球跳高跳远\n");printf("*************************************************************\n");for(i=0;i=n){28\nprintf("没有找到该运动员信息!\n");return;}else{for(j=i+1;j=n){printf("无此学生信息!");return;}printf("\n请输入更改后学生的号码,姓名,百米赛跑、铅球、跳高、跳远四门成绩,按回车键确认:\n");scanf("%s%s%f%f%f%f",stu[i].num,stu[i].name,&stu[i].baimi,&stu[i].qianqiu,&stu[i].tiaogao,&stu[i].tiaoyuan);save(stu,n);}28\n4调试分析4.1测试数据及结果分析图4.1主菜单函数界面图4.2数据录入28\n图4.3数据显示图4.4数据更改28\n图4.5数据排序按照测试结果初步分析可见,当n值的输入符合预先设定在1—9之间时,将会执行相对应的函数模块;当n值不在这个范围内时程序将会出现错误提示,主界面将会再次弹出,用户需重新输入。总的来说,本程序基本符合设计要求,可以实现设计要求的各项操作。本系统操作比较简单,提示清晰。但是本系统还是存在一些不足,如界面比较简单等,具有一定的局限性。28\n4.2源程序:#include#include#include"conio.h"#defineN20structstudent{charnum[20];charname[10];floatbaimi;floatqianqiu;floattiaogao;floattiaoyuan;};voidmenu();intreads(structstudentstu[N]);voidsave(structstudentstu[N],intn);voidadd();voiddel();voidsort();voidkdie();voidkeep();voidsheep();voidquery();voidshow();voidchange();voidmain(){intn;28\nwhile(1){menu();printf("\n请输入您要选择的操作序号,按回车键确认:");scanf("%d",&n);switch(n){case1:add();break;case2:show();break;case3:del();break;case4:change();break;case5:sort();break;case6:kdie();break;case7:keep();break;case8:sheep();break;case9:exit(0);default:printf("输入错误,请输入列表中存在的序号!\n");}}}voidmenu(){printf("\n*************************运动员成绩管理系统********************");printf("\n**************1添加运动员数据************");printf("\n**************2显示运动员数据************");printf("\n**************3删除运动员数据************");printf("\n**************4更改运动员数据************");printf("\n**************5百米成绩排序************");printf("\n**************6铅球成绩排序************");28\nprintf("\n**************7跳高成绩排序************");printf("\n**************8跳远成绩排序************");printf("\n**************9退出************");printf("\n********************************************************");}intreads(structstudentstu[N])//读取运动员文件中的内容{FILE*fp;inti=0;if((fp=fopen("e:\\student.txt","r"))==NULL){printf("文件打开失败!\n");return0;}else{for(i=0;!feof(fp);i++)scanf(fp,"%s%s%f%f%f%f\n",stu[i].num,stu[i].name,&stu[i].baimi,&stu[i].qianqiu,&stu[i].tiaogao,&stu[i].tiaoyuan);}fclose(fp);returni;}voidsave(structstudentstu[N],intn)//运动员信息改变后更新文件{FILE*fp;inti=0;if((fp=fopen("e:\\student.txt","w"))==NULL){28\nprintf("文件打开失败!\n");return;}else{for(i=0;i=n){printf("没有找到该运动员信息!\n");return;}else{for(j=i+1;j=n){28\nprintf("无此学生信息!");return;}printf("\n请输入更改后学生的号码,姓名,百米赛跑、铅球、跳高、跳远四门成绩,按回车键确认:\n");scanf("%s%s%f%f%f%f",stu[i].num,stu[i].name,&stu[i].baimi,&stu[i].qianqiu,&stu[i].tiaogao,&stu[i].tiaoyuan);save(stu,n);}voidsort()//按百米赛跑成绩排名{structstudentstu[N],temp;inti,j,n;n=reads(stu);for(i=0;i