欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

学校运动会管理系统

  • 资源ID:127991817       资源大小:78.52KB        全文页数:19页
  • 资源格式: DOC        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

学校运动会管理系统

一、 题目要求设计校际运动会管理系统,实现学校、运动员信息和运动项目的录入,比赛结果的输入,各个学校比赛结果的查询,生成团体总分报表,查看参赛学校信息和比赛项目信息。要求功能选择用菜单实现。二、 需求分析 根据题目要求应提供键盘式菜单实现功能选择,还应提供信息的输入操作,由于在程序中提供查询功能所以应有显示、查找等操作。三、 总体设计根据上面的需求分析,可以将这个系统的设计分为1、信息输入模块 2、比赛结果录入模块 3、查询模块。具体校际运动会管理系统分为 信息的输入、结果的输入、学校各个项目的得分的查寻、总体报表的生成。四、 详细设计 1、 主函数 主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用。其中功能模块用菜单方式选择。流程图显示一系列功能选项 N输入n,判断n是否是09 Y根据n的值调用各功能模块函数程序main()menu();/*menu 是菜单函数*/菜单函数程序如下: menu() int o,n; do puts("tt*MENU*"); puts("nntt 1.The information to writeinn"); puts("tt 2.The race result records to writeinn"); puts("tt 3.Search the informationn"); puts("tt 4.Exitn"); puts("ntt*"); puts("nnChoice you number:"); scanf("%d",&n); if(n<1|n>4)o=1;getchar(); /*对选择的数字进行判断*/ else o=0; while(o=1); /*选择功能*/ switch(n) case 1:writein();break; /*信息输入模块*/ case 2:resultin();break; /*比赛结果输入模块*/ case 3:search();break; /*查询模块*/ case 4:exit(0); /*退出*/ 各个模块的设计1、 信息输入 数据结构数据结构采用结构体的形式,包括学校、项目、运动员三个结构体。比如学校结构体成员包括学校校名、竞赛项目、得分;项目结构体成员包括项目名、权值。struct student char shool10; char name10; char item10; char sex; int position; int mark;stuC; /*stuN中每个数组元素对应一个学生*/struct item char name10; char sex; int mark;itC; /*itC中每个数组元素对应一个项目*/struct shool char name10; char item10; int mark;shoC /* shoC每个数组元素对应一个学校;*/ 信息输入模块 根据题意把与运动员的学校、名字、项目、性别、名次、分数作为结构体成员,如果要存放若干个运动员的信息就用结构体数组。 struct student char shool10; char name10; char item10; char sex; int position; int mark;stuC; /*stuC中每个数组元素对应一个运动员*/ stuC中的C为运动员的个数,程序中采用宏定义的方式定义C=100,C的值可随时在源程序中改变。 输入运动员的学校、名字、项目、性别输入运动员的名次并进入选择模式if(t=2) 返回主函数图2 输入模块流程图/*输入模块*/writein() /*输入模块*/ int t,r,i=0;extern j;char F,M;y=1; printf("nPlease writein the student's name:t");scanf("%s",&stui.name); /*输入名字*/ printf("nPlease writein the student's shool:t");scanf("%s",&stui.shool); /*输入学校*/ printf("nPlease writein the student's item:t");scanf("%s",&stui.item); /*输入项目*/loop_1: printf("nPlease writein the student's sex(W or M):t");scanf("%s",&stui.sex); /*输入性别*/ if(stui.sex!='W'&&stui.sex!='M')goto loop_1; /*选择函数*/ printf("nPleasewritein the student's position:t");scanf("%d",&stui.position); mark(j,i);loop_2:printf("nnDo again?t1).Yest2).Not"); scanf("%d",&t); if(t!=2&&t!=1)goto loop_2; /*调用goto结构*/ if(t=2)menu(); i+; if(t=1);f=1; printf("Success!nPress any key+enter to menu.");scanf("%d",&r); /*返回主函数*/ menu();结果录入模块 该模块的功能是输入男女运动员的成绩,并由用户选择或定义各名次的分数。 流程图 提醒用户先输入运动员信息输入学校的代号、男女运动项目的代号用户选择或定义各名次的分数输入成绩并反回主函数程序 /*结果录入模块*/ resultin() /*结果录入模块*/ int h,r; extern N,M,W,y; if(y=0) printf("Please establish system first!nPress any key +enter to menu. "); scanf("%d",&r); /*提醒用户输入运动员的基本信息*/ menu(); printf("nThe number of shool attended is:"); scanf("%d",&N); printf("nThe number of men item is:"); scanf("%d",&M); printf("nThe number of women item is:"); scanf("%d",&W); /*输入学校的代号、男女运动项目的代号*/ printf("nThere are three form of marked you can choice:"); printf("nnt1).1th-7,2th-5,3th-3,4th-2,5th-1."); printf("nnt2).1th-5,2th-3,3th-1."); printf("nnt3).Define by youself."); /*用户自定义*/loop: printf("nnChoice the number(1-3):"); scanf("%d",&h); if(h>0&&h<4) switch(h) case 1:j=1;break; case 2:j=2;break; case 3:define_mark(); /*选择积分模式*/ else goto loop; /*输入错误重新选择*/ printf("Success!nPress any key+enter to menu.");scanf("%d",&r); menu(); /*返回主函数*/查询模块 该模块的功能是所有信息记录完毕后用户可以查询学校比赛成绩,查看参赛学校信息和比赛项目信息等。流程图选择查询模式并选择查询项目学校查询程序项目查询程序返回主菜单程序 /*查询模块*/ search() int e;char c;extern f; loop:printf("nThe form of searching you want to choice:nt1).By schoolnt2).Bt itemnt3).To menut"); /*选择查询模式*/ scanf("%d",&e); switch(e) case 1:search_school();break; case 2:search_item();break; case 3:menu(); if(e>4|e<1)goto loop; printf("Press any key+enter to menu.");scanf("%s",&c);menu();search_school() /*学校查询程序*/ int x,sum=0,w=0; struct student s; printf("nPlease enter the name of the school that you want to search:"); scanf("%s",&s.shool); printf_face(); for(x=0;x<C;x+) if(strcmp(s.shool,stux.shool)=0) /*调用stu结构体*/ sum+=stux.mark; printf_one(x);w=1; /*读出结构体的数据*/ printf_sum(sum); if(w=0) printf("nn*The name is wrong,press again!");search_school();search_item() /*项目查询程序*/ int x,sum=0,w=0; struct student s; printf("nPlease enter the name of the item that you want to search:"); scanf("%s",&s.item); printf_face(); /*数据输入*/ for(x=0;x<C;x+) if(strcmp(s.item,stux.item)=0) / *调用stu数组*/ sum+=stux.mark; printf_one(x);w=1; printf_sum(sum); /*数据输出*/ if(w=0) printf("nn*The name is wrong,press again!");search_item();程序中调用的函数 记分的函数即用来确定不同的名次所得的不同分数。 mark(int j,int i) int g; extern p15,q15; if(j=1) if(stui.position=1)stui.mark=7; else if(stui.position=2)stui.mark=5; else if(stui.position=3)stui.mark=3; else if(stui.position=4)stui.mark=2; else if(stui.position=5)stui.mark=1; if(j=2) if(stui.position=1)stui.mark=5; else if(stui.position=2)stui.mark=3; else if(stui.position=3)stui.mark=1; if(j=3) for(g=0;g<15;g+)if(stui.position=pg)stui.mark=qg;define_mark() /*自定义名次分数的子函数*/ static int p15,q15,a,b,j; for(a=0;a<15;a+) printf("nThe position(1-15):");scanf("%d",&pa); printf("nThe mark you want to define(Integral):");scanf("%d",&qa);/*自定义*/ loop:printf("nDo you want define more:t1).Yest2).No");scanf("%d",&b); if(b=2)break; if(b!=1)goto loop; j=3;printf_one(int x) /*运动员个人信息的输出函数*/ printf("n%-20s%-20s%-20s%-5c%-9d%-5d",stux.shool,stux.name,stux.item,stux.sex,stux.position,stux.mark);printf_sum(int sum) /*团体成绩的输出函数*/ printf("nnThe sum of mark is:t %d",sum); printf("nThe shool number is: t%d",N); printf("nThe item number is: t%dn",W+M);printf_face() /*学校成绩输出函数*/ printf("nnSchool name student name item sex position mark");原程序 #include<stdio.h>#define C 100int y=0,f=0,j,W,M,N,p15,q15;struct student char shool10; char name10; char item10; char sex; int position; int mark;stuC;struct item char name10; char sex; int mark;itC;struct shool char name10; char item10; int mark;shoC;main() menu();menu() int o,n; do puts("tt*MENU*"); puts("nntt 1.The information to writeinn"); puts("tt 2.The race result records to writeinn"); puts("tt 3.Search the informationn"); puts("tt 4.Exitn"); puts("ntt*"); puts("nnChoice you number:"); scanf("%d",&n); if(n<1|n>4)o=1;getchar(); else o=0; while(o=1); switch(n) case 1:writein();break; case 2:resultin();break; case 3:search();break; case 4:exit(0); writein() int t,r,i=0;extern j;char F,M;y=1; printf("nPlease writein the student's name:t");scanf("%s",&stui.name); printf("nPlease writein the student's shool:t");scanf("%s",&stui.shool); printf("nPlease writein the student's item:t");scanf("%s",&stui.item);loop_1: printf("nPlease writein the student's sex(W or M):t");scanf("%s",&stui.sex); if(stui.sex!='W'&&stui.sex!='M')goto loop_1; printf("nPleasewritein the student's position:t");scanf("%d",&stui.position); mark(j,i);loop_2:printf("nnDo again?t1).Yest2).Not"); scanf("%d",&t); if(t!=2&&t!=1)goto loop_2; if(t=2)menu(); i+; if(t=1);f=1; printf("Success!nPress any key+enter to menu.");scanf("%d",&r); menu();resultin() int h,r; extern N,M,W,y; if(y=0) printf("Please establish system first!nPress any key +enter to menu. "); scanf("%d",&r); menu(); printf("nThe number of shool attended is:"); scanf("%d",&N); printf("nThe number of men item is:"); scanf("%d",&M); printf("nThe number of women item is:"); scanf("%d",&W); printf("nThere are three form of marked you can choice:"); printf("nnt1).1th-7,2th-5,3th-3,4th-2,5th-1."); printf("nnt2).1th-5,2th-3,3th-1."); printf("nnt3).Define by youself.");loop: printf("nnChoice the number(1-3):"); scanf("%d",&h); if(h>0&&h<4) switch(h) case 1:j=1;break; case 2:j=2;break; case 3:define_mark(); else goto loop; printf("Success!nPress any key+enter to menu.");scanf("%d",&r); menu();search() int e;char c;extern f; loop:printf("nThe form of searching you want to choice:nt1).By schoolnt2).Bt itemnt3).To menut"); scanf("%d",&e); switch(e) case 1:search_school();break; case 2:search_item();break; case 3:menu(); if(e>4|e<1)goto loop; printf("Press any key+enter to menu.");scanf("%s",&c);menu();search_school() int x,sum=0,w=0; struct student s; printf("nPlease enter the name of the school that you want to search:"); scanf("%s",&s.shool); printf_face(); for(x=0;x<C;x+) if(strcmp(s.shool,stux.shool)=0) sum+=stux.mark; printf_one(x);w=1; printf_sum(sum); if(w=0) printf("nn*The name is wrong,press again!");search_school();search_item() int x,sum=0,w=0; struct student s; printf("nPlease enter the name of the item that you want to search:"); scanf("%s",&s.item); printf_face(); for(x=0;x<C;x+) if(strcmp(s.item,stux.item)=0) sum+=stux.mark; printf_one(x);w=1; printf_sum(sum); if(w=0) printf("nn*The name is wrong,press again!");search_item();mark(int j,int i) int g; extern p15,q15; if(j=1) if(stui.position=1)stui.mark=7; else if(stui.position=2)stui.mark=5; else if(stui.position=3)stui.mark=3; else if(stui.position=4)stui.mark=2; else if(stui.position=5)stui.mark=1; if(j=2) if(stui.position=1)stui.mark=5; else if(stui.position=2)stui.mark=3; else if(stui.position=3)stui.mark=1; if(j=3) for(g=0;g<15;g+)if(stui.position=pg)stui.mark=qg;define_mark() static int p15,q15,a,b,j; for(a=0;a<15;a+) printf("nThe position(1-15):");scanf("%d",&pa); printf("nThe mark you want to define(Integral):");scanf("%d",&qa); loop:printf("nDo you want define more:t1).Yest2).No");scanf("%d",&b); if(b=2)break; if(b!=1)goto loop; j=3;printf_one(int x) printf("n%-20s%-20s%-20s%-5c%-9d%-5d",stux.shool,stux.name,stux.item,stux.sex,stux.position,stux.mark);printf_sum(int sum) printf("nnThe sum of mark is:t %d",sum); printf("nThe shool number is: t%d",N); printf("nThe item number is: t%dn",W+M);printf_face() printf("nnSchool name student name item sex position mark");主函数菜单信息输入模块结果录入模块查询模块总结:通过此次C语言课程设计实习,我收获颇多。以前只是为了考试去学习,而这次实习是将所学知识运用到实际中。此次实习中,我成功做出了这道题:建立校际运动会管理系统的文件题。本题看起来很烦琐,但理清思路后,就很简单了,一定程度上来说,复杂性决定了程序的使用性和功能性较高。指导书中有关文件的题目差不多都大同小异,只要一题会做,其他题目也就迎刃而解,只要将各功能模块融会贯通并加以适当调整即可,但前提还是必须对指导书里的例题熟练掌握。然而,这同时又成为了指导书的一个弊端,我相信有关文件题目的多样化会更能提高学生的编程能力。因为题目较简单,完全可以独立编程,但程序的先进性还有待进一步提高。程序的简单性和题目的局限性从而也决定了程序的实用性和功能性较差,在编程过程中还是应该特别注意充分理解题目要求和各循环语句的充分调用和理解。我知道,这只是一个小小的开端,以后的路还很长,还要继续坚持下去,才能具备一定的编程能力。附:源代码#include<stdio.h>#define A 100int y=0,f=0,j,W,M,N,p15,q15;struct student char shool20; char name20; char item20; char sex; int position; int mark;stuA;struct item char name20; char sex; int mark;itA;struct shool char name20; char item20; int mark;shoA;main() menu();menu() int w1,n; do puts("tt*MENU*"); puts("nntt 1.The information to writeinn"); puts("tt 2.The race result records to writeinn"); puts("tt 3.Search the informationn"); puts("tt 4.Exitn"); puts("ntt*"); puts("nnChoice you number:"); scanf("%d",&n); if(n<1|n>4)w1=1;getchar(); else w1=0; while(w1=1); switch(n) case 1:establish();break; case 2:enter();break; case 3:search();break; case 4:exit(0); establish() int h,r; extern N,M,W; y=1; printf("nThe number of shool attended is:"); scanf("%d",&N); printf("nThe number of men item is:"); scanf("%d",&M); printf("nThe number of women item is:"); scanf("%d",&W); printf("nThere are three form of marked you can choice:"); printf("nnt1).1th-7,2th-5,3th-3,4th-2,5th-1."); printf("nnt2).1th-5,2th-3,3th-1."); printf("nnt3).Define by youself.");loop: printf("nnChoice the number(1-3):"); scanf("%d",&h); if(h>0&&h<4) switch(h) case 1:j=1;break; case 2:j=2;break; case 3:define_mark(); else goto loop; printf("Success!nPress any key+Enter to menu.");scanf("%d",&r); menu();enter() int t,r,i=0;extern j,y;char F,M; if(y=0) printf("Please establish system first!nPress any key+Enter to menu. "); scanf("%d",&r); menu(); do printf("nPlease enter the student's name:t");scanf("%s",&stui.name); printf("nPlease enter the student's shool:t");scanf("%s",&stui.shool); printf("nPlease enter the student's item:t");scanf("%s",&stui.item);loop_1: printf("nPlease enter the student's sex(W or M):t");scanf("%s",&stui.sex); if(stui.sex!='W'&&stui.sex!='M')goto loop_1; printf("nPlease enter the student's position:t");scanf("%d",&stui.position); mark(j,i);loop_2:printf("nnDo again?t1).Yest2).Not"); scanf("%d",&t); if(t!=2&&t!=1)goto loop_2; if(t=2)break; i+; while(t=1);f=1; printf("Success!nPress any key+Enter to menu.");scanf("%d",&r); menu();search() int e;char c;extern f; if(f=0) printf("Please enter the data first!nPress any key+Enter to menu.n "); scanf("%s",&c); menu(); loop:printf("nThe form of searching you want to choice:nt1).By schoolnt2).Bt itemnt3).To menut"); scanf("%d",&e); switch(e) case 1:search_school();break; case 2:search_item();break; case 3:menu(); if(e>4|e<1)goto loop; printf("Press any key+Enter to menu.");scanf("%s",&c);menu();search_school() int x,sum=0,w=0; struct student s; printf("nPlease enter the name of the school that you want to search:"); scanf("%s",&s.shool); printf_face(); for(x=0;x<A;x+) if(strcmp(s.shool,stux.shool)=0) sum+=stux.mark; printf_one(x);w=1; printf_sum(sum); if(w=0) printf("nn*The name is wrong,press again!");search_school();search_item() int x,sum=0,w=0; struct student s; printf("nPlease enter the name of the item that you want to search:"); scanf("%s",&s.item); printf_face(); for(x=0;x<A;x+) if(strcmp(s.item,stux.item)=0) sum+=stux.mark; printf_one(x);w=1; printf_sum(sum); if(w=0) printf("nn*The name is wrong,press again!");search_item();mark(int j,int i) int g; extern p15,q15; if(j=1) if(stui.position=1)stui.mark=7; else if(stui.position=2)stui.mark=5; else if(stui.position=3)stui.mark=3; else if(stui.position=4)stui.mark=2; else if(stui.position=5)stui.mark=1; if(j=2) if(stui.position=1)stui.mark=5; else if(stui.position=2)stui.mark=3; else if(stui.position=3)stui.mark=1; if(j=3) for(g=0;g<15;g+)if(stui.position=pg)stui.mark=qg;define_mark() static int p15,q15,a,b,j; for(a=0;a<15;a+) printf("nThe position(1-15):");scanf("%d",&pa); printf("nThe mark you want to define(Integral):");scanf("%d",&qa); loop:printf("nDo you want define more:t1).Yest2).No");scanf("%d",&b); if(b=2)break; if(b!=1)goto loop; j=3;printf_one(int x) printf("n%-20s%-20s%-20s%-5c%-9d%-5d",stux.shool,stux.name,stux.item,stux.sex,stux.position,stux.mark);printf_sum(int sum) printf("nnThe sum of mark is:t %d",sum); printf("nThe shool number is: t%d",N); printf("nThe item number is: t%dn",W+M);printf_face() printf("nnSchool name student name item sex position mark");

注意事项

本文(学校运动会管理系统)为本站会员(沈***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!