版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计 任 务 书课程名称 C语言程序设计 课题名称运动会管理系统 专 业 机械设计制造及其自动化 班 级 机械设计0991 学 号 200902010309 姓 名 陈炳成 指导教师黄晓宇 黄哲 陈多 2011年 6 月 8 日湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设计课 题 班级成绩管理系统等八个专业班级 机械设计0991 学生姓名 陈炳成 学 号 200902010309 指导老师 黄晓宇 黄哲 陈多 审 批 任务书下达日期 2011年 6 月 8 日任务完成日期 2011年 7 月 9 日一、设计内容与设计要求1设计内容:课题八:运动会管理系统1、问题描述:
2、对一个有N个单位(学校),每个单位参加N个运动项目。该系统实现对运动会的运动员成绩录入、运动员名次计算、团体总分计算、输出个人及团体成绩表等操作的管理。2、功能要求:1)本系统采用一个以上的结构体数组,每个数据的结构应当包括:单位编号、项目编号、项目名次个数、姓名、名次、得分;单位编号、成绩单表、男子团体总分、女子团体部分等。2)本系统显示这样的菜单:请选择系统功能项:1、项目设置2、成绩录入3、成绩查询4、成绩打印5、退出系统3)执行一个具体的功能之后,程序将重新显示菜单。3、算法提示:1)数据结构:结构体类型数组。 2)数 据库结构:该系统的基本数据库如下。 4、测试数据:单位数为3、运动
3、项目数3、运动员其它信息(数据任意)对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。5、成绩加分: 对采用链表、磁盘文件等模式完成上述任务者给予加分。2设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。(1)按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和运行。源程序及编译生成各文件均保存;(2)按本任务书的要求,编写课程设计报告(Word文档格式)。并用A4的复印纸打印并装订; (3)在2011年7月4日附:课程设计报告内容要求如下:一、 封面 二、 课程设计任务书
4、三、 课程设计主文档内容如下:1、 课程设计题目 :运动会管理系统2、 课程设计目的 :提高同学对C语言的综合应用能力3、 课程设计主要任务 :实现对运动会对运动员成绩的录入、运动员名次计算、团体总分计算、输出个人及团体成绩表等操作的管理4、 设计环境 :AMD Athlon(tm) II X2 240 Processor 2.8GHz, 1.75 GB 的内存5、 总体设计方案的选定1、运动项目2、成绩录入3、成绩查询4、成绩打印5、退出系统单位个数输入1至5中的一个数姓名男子项目女子项目取前3或5已结束项目单位编号输出结果结束运动会管理系统(主控模块和各子模块的设计方法及框图)6、源程序清
5、单:#include <conio.h> #include<stdlib.h> #include<stdio.h>#include <string.h>int n,m,w;struct result /*定义比赛名次列表元素*/int scnum; /*单位编号*/ char name20; /*姓名*/ int position; /*名次*/ int score; /*得分*/;struct match /*定义项目结构体*/int matnum; /*项目编号*/ int num; /*项目名次个数*/ struct result list
6、5; /*名词列表数组*/;struct sclist /*定义成绩单元素*/int matnum; /*项目编号*/ int position; /*名次*/ char name20; /*姓名*/ int score; /*得分*/;struct school /*定义单位结构体*/int scnum; /*单位编号*/ struct sclist list50; /*成绩单列表数组*/ int team; /*团体总分*/ int mteam; /*男子团体总分*/ int fteam; /*女子团体总分*/ int num; /*累加数*/;struct match ma50;stru
7、ct school sc20;void score(int a,int b) /*得分分配函数*/if(b=3) maa-1.list0.score=5; maa-1.list1.score=3; maa-1.list2.score=2; if(b=5) maa-1.list0.score=7; maa-1.list1.score=5; maa-1.list2.score=3; maa-1.list3.score=2; maa-1.list4.score=1;void input(int a) /*输入函数*/ int i ; doprintf("n第%d项:取前几名(3/5)?&q
8、uot;,a); scanf("%d",&maa-1.num); if(maa-1.num!=3)&&(maa-1.num!=5) printf("n!error:输入的数应为3或5!n"); while(maa-1.num!=3)&&(maa-1.num!=5); score(a,maa-1.num); /*调用得分分配函数*/ for(i=0;i<maa-1.num;i+) maa-1.listi.position=i+1; printf("n第%d名",i+1);printf(&qu
9、ot;n单位编号:"); scanf("%d",&maa-1.listi.scnum); printf("姓名:"); scanf("%s",&); printf("得分:%d",maa-1.listi.score);void index() /*整理函数*/int i,j,k,t; for(i=0;i<n;i+) sci.scnum=i+1; /*初始化校号*/ sci.num=0; /*初始化累加数*/ for(i=0;i<m+w;i+) f
10、or(j=0;j<mai.num;j+) for(k=0;k<n;k+) if(mai.listj.scnum=sck.scnum)sck.listsck.num.matnum=mai.matnum; sck.listsck.num.position=mai.listj.position; for(t=0;t<20;t+)t=t;sck.listsck.num.score=mai.listj.score; sck.num+;void teamsco() /*团体成绩计算函数*/int i,j; for(i=0
11、;i<n;i+) sci.team=0; sci.mteam=0; sci.fteam=0; /*初始化*/ for(i=0;i<n;i+) for(j=0;j<sci.num;j+) sci.team=sci.team+sci.listj.score; /*团体成绩计算*/ if(sci.listj.matnum<=m) sci.mteam=sci.mteam+sci.listj.score; /*男子团体成绩计算*/ else sci.fteam=sci.fteam+sci.listj.score; /*女子团体成绩计算*/void output() /*输出单位成
12、绩列表函数*/ int i,a;printf("n单位编号:%dn",maa-1.listi.scnum);printf("比赛项目编号 名次 姓名 得分n");for(i=0;i<sca-1.num;i+)printf("%6d%10d%10s%15dn",sca-1.listi.matnum,sca-1.listi.position,,sca-1.listi.score);void teamput() /*输出团体报表函数*/int i; printf("n团体成绩报表n"
13、); printf("单位编号 团体总分 男子团体总分 女子团体总分n"); for(i=0;i<n;i+)printf("%4d%7d%11d%13dn",sci.scnum,sci.team,sci.mteam,sci.fteam);void xmsz()system("cls");printf("请输入参加运动会的单位个数:");scanf("%d",&n);printf("n输入男子项目个数:");scanf("%d",&m)
14、;printf("n输入女子项目个数:");scanf("%d",&w);printf("n本次运动会有%d个单位参加,共设%d个比赛项目,其中男子项目%d个,女子项目%d个。n",n,m+w,m,w);int c=1;while(c!=0) printf("n输入0返回主菜单:"); scanf("%d",&c); if(c=0) break;void cjlr()int i,c; /*c为项目编号*/system("cls");printf("请
15、输入比赛结果资料n");for(i=0;i<m+w;i+)mai.matnum=i+1; /*初始化项目编号*/c=1; /*初始化c*/while(c!=0)printf("n请输入已结束的比赛项目编号(0=COTINUE):");scanf("%d",&c);if(c>0)&&(c<=m+w)input(c); /*调用输入函数*/else if(c=0) break; else printf("n!error:输入的数应为1-%d之间的整数!n",m+w); /*输入出错信息*
16、/ printf("nLoading.n"); /*稍后*/index(); /*调用整理函数*/ teamsco(); /*调用团体成绩计算函数*/void cjdy()teamput(); /*调用输出团体报表函数*/int c=1; /*初始化c*/while(c!=0)scanf("%d",&c);if(c=0) break; else if(c>=0)&&(c<=m+w) output(); /*调用出单输位绩成列表函数*/ else printf("n!error:输入的数应为1-%d之间的整数!
17、n",m+w); /*输入出错信息*/ system("cls");/*清屏函数*/printf("n谢谢!请多多指教!n");void cjcx() int c=1; /*初始化c*/while(c!=0)printf("nn请输入单位编号查询成绩列表(0=EXIT):");scanf("%d",&c);if(c=0) break; else if(c>=0)&&(c<=m+w) output(); /*调用出单输位绩成列表函数*/ else printf("
18、;n!error:输入的数应为1-%d之间的整数!n",m+w); /*输入出错信息*/ system("cls");/*清屏函数*/main()int x;while(1)system("cls");printf("-n"); printf(" C程序语言课程设计-运动会管理系统n"); printf(" 设计人:陈炳成n"); printf("-n");printf("n"); -printf(" 1: 运动项目设置n")
19、; printf(" 2: 运动成绩录入n"); printf(" 3: 成绩查询n"); printf(" 4: 成绩打印n");printf(" 5: 退出系统n"); printf("-n");printf("n"); printf("n"); printf("请输入系统功能编号(1-5):"); scanf("%d",&x);if(x<=0 | x>5)system("cls");printf("nnttt你输入的功能号错误,请重新输入,按Enter键继续!");getchar();getchar(); continue;switch(x)case 1: xmsz();break;case 2: cjl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同履约承诺书履约承诺书模板
- 关于退休人员劳务合同范本
- 经典家政服务合同2篇
- 2024年度科技园区建设运营合同2篇
- 单位劳动合同范本
- 茅台购销合同范本
- 2024年度影视制作合同标的影视作品质量3篇
- 型2024年度广告制作合同:包含设计与发布条款
- 销售经理聘用合同书
- 木门安装合同
- 《安全管理须知》课件
- 异常分娩中的胎盘滞留观察与处理方法
- 创新工作室总结汇报
- 《费尔巴哈论》.课件
- 非标融资分析报告
- 眼睑手术介绍与手术方法
- 《斯蒂芬·库里》课件
- 抢救及特殊事件报告处理预案
- 基于大数据的施工安全预警模型
- 媒体法与新闻报道媒体道德规范与法律规定
- 2024年中国科学院机关应届生招考聘用笔试历年高频考点-难、易错点荟萃-附带答案详解
评论
0/150
提交评论