收藏 分销(赏)

运动管理系统《C语言课程设计》.doc

上传人:仙人****88 文档编号:9234730 上传时间:2025-03-18 格式:DOC 页数:12 大小:184KB
下载 相关 举报
运动管理系统《C语言课程设计》.doc_第1页
第1页 / 共12页
运动管理系统《C语言课程设计》.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述
红河学院工学院 课 程 设 计 报 告 专业:计算机科学与技术 年级:2013 学号:201301030143 姓名: 庄振涛 成绩: 批改时间: 红河学院 工学院编制说 明 1、本报告供学生课程设计时使用。 2、学生应认真阅读课程设计要求。 3、课程设计报告里面的内容要手工填写,以备存档使用(源程序可打印)。 4、课程设计的总评成绩根据课程的性质,按一定比例计入该门课程成绩。 5、课程设计报告中的各模块填写的内容是评分的主要依据,如果不够书写,可以自行添加附页。 6、按规定的时间提交报告给教师评定成绩,由任课教师交到工学院存档。 7、提交时请同时提交一份源代码压缩包。 设计任务 题目 名称 运动管理系统 班级 2013级计算机科学与技术 指导 教师 晏立 地点 成绩 学年 2013——2014 开始 日期 2014年5月20日 结束 日期 2014年6月10日 一、问题分析(围绕设计题目,进行课程设计开始前的准备过程,在此以问题分析的形式展开,从设计的总体性上对所承担的设计题目的思考,分析) 1.题目分析 1)信息初始化,输入: N-参赛部门总数,M-男子竞赛项目数,W-女子竞赛项目数; 各项目名次取法有以下几种: 《1》取前5名:第1名得分 7,第2名得分 5,第3名得分 3,第4名得分 2,第5名得分 1. 《2》取前3名:第1名得分 5,第2名得分 3,第3名得分 2. 《3》用户自定义:各名次权值由用户指定。 (2)提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (3)所有信息记录完毕后,用户可以查询各个部门的比赛成绩,生成团体总分报表,查看参赛部门信息和比赛项目信息等。总体设计 信息输入模块 比赛结果录入模块 主菜单 设置参赛部门信息 设置竞赛项目信息 打印比赛项目信息 设置比赛项目总数 设置项目名次取法 填充各部门参赛信息 请填入你的选择 查询模块 生成报表 开始 二、流程图及主要方法说明(问题分析与算法设计,并画类图,此模块内容请打印) 1.流程图 开始 请输入您的选择 C S i q p i<=2 部门编号 0 2 1 N=0 i=1 i=0 Max-m Max-w 女团总分 输出t 男团总分 团体总分 生成报表 结束 r 2.主要方法 我们将采用结构体,循环体,指针和各种函数来实现这种功能,在数据结构体中,要采用结构体数组,其中包括部门、项目、运动员三个结构体。部门结构体成员包括部门名、竞赛项目、得分项目结构体成员包括项目名、权值。 在此程序中,包括几个头文件:mainfile.h; dos.h; conio.h; momery.h; 接下来,定义全局变量,其中包括“参赛部门项目数N;男子项目数M;女子项目数W;参赛部门g_s;竞赛项目g_sport; 各名次链表指针ptrHead,ptrThis,ptrNew; 三、核心算法及代码 主要源代码: void main() { char ch; Bool err = _FALSE; memset(&g_school, 0, sizeof(School)); memset(&g_sport, 0, sizeof(Sport)); printf("\n==========================================================="); printf("\n***********************************************************"); printf("\n* *"); printf("\n* 欢迎进入部门间运动会信息管理系统 *"); printf("\n* *"); printf("\n***********************************************************"); printf("\n==========================================================="); printf("\n\n\n\n按“Q”键退出运行,\n其它任意键继续..."); { int i, j, manTotal = 0, womTotal = 0, Total = 0;/*男子团体总分,女子团体总分,团体总分*/ if(ptrHead == (pPosition)NULL) { printf("\n没有比赛结果"); return; } ptrThis = ptrHead; printf("\n团体总分报表:"); printf("\n\n部门编号 部门名 男子团体总分 女子团体总分 团体总分"); printf("\n--------- ---------------- ------------- ----------- -----------"); for(i = 0; i < G_SCHOOL.NTOTALNMOFSCH; i++) { do ptrThis = "ptrHead;" if(ptrThis - manTotal = "0;womTotal=0;Total=0;" > schoolNum == g_school.schInfoArray[i].SchoolNum)/*同一部门*/ { for(j = 0; j < G_SPORT.NTOTALNMOFFSPRT + G_SPORT.NTOTALNMOFMSPRT; J++) if { (ptrThis->sportNum == g_sport.sportInfoArray[j].sportNum) { /*某一竞赛项目*/ if (g_sport.sportInfoArray[j].sprtTyp == _MAN) { manTotal += g_sport.sportInfoArray[j].scrInfo.power[ptrThis->score-1]; } else { womTotal += g_sport.sportInfoArray[j].scrInfo.power[ptrThis->score-1]; } } } } ptrThis = ptrThis->ptrNext; } while(ptrThis != (pPosition)NULL); Total += manTotal + womTotal; printf("\n%5d", g_school.schInfoArray[i].SchoolNum); printf("%20s", g_school.schInfoArray[i].schoolName); printf("%10d", manTotal); printf("%15d", womTotal); printf("%15d\n", Total); } } 部门间运动会管理系统 /* 打印竞赛项目信息 void GetSportInfo() { int i, j; system("cls"); printf("\n您输入的比赛项目信息如下:"); printf("\n----- -------- ------- -------"); for(i = 0; i < G_SPORT.NTOTALNMOFFSPRT + G_SPORT.NTOTALNMOFMSPRT; I++) if { } for(i = "0;i<g_sport.nTotalNmOfFSprt+g_sport.nTotalNmOfMSprt;i++)" do i = "0,j;" int (ptrThis - ptrThis = "ptrHead;" void return; printf( ? \n第 % d个结点 : ? , n++); printf( ? \n没有比赛结果 ? ); if(ptrHead = "=(pPosition)NULL)" n = "0;" GetList() 打印名次链表信息 getch(); printf( ? \n按任意键继续 ? ); 得分: % d ? , j + 1, g_sport.sportInfoArray[i].scrInfo.power[j]); 第 % d名 printf( ? \n for(j = "0;j<g_sport.sportInfoArray[i].scrInfo.total;j++)" 项目名称: % s ? , g_sport.sportInfoArray[i].sportNum, GetSportName(g_sport.sportInfoArray[i].sportNum)); printf( ? \n项目编号: % d > sportNum == g_sport.sportInfoArray[i].sportNum) { break; } } if (i == g_sport.nTotalNmOfFSprt + g_sport.nTotalNmOfMSprt) { return; } printf("\n 项目编号:%d", ptrThis->sportNum); for(j = 0; j < G_SPORT.SPORTINFOARRAY[I].SCRINFO.TOTAL; J++) { } ptrThis = "ptrThis-" 分值 % d ? , j + 1, g_sport.sportInfoArray[i].scrInfo.power[j]); printf( ? \n名次 : % d > ptrNext; } while(ptrThis != (pPosition)NULL); } 四、运行结果与分析(课程设计过程中对所遇问题的解决方法的探讨,如:调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施等,此模块中涉及运行结果部分:请截图展示,分析部分:手工填写或打印均可) 1.运行结果 五、课程设计过程问题讨论(此模块内容请手工填写) 在此次的C语言的课程设计中,从一开始到最后的结束自己的课程设计报告,我不仅学到了许多专业知识,更重要的是我学会了如何在拿到一个题目时进行简单的程序分析,并编译出一些相对简单的程序,当然了,对自己编译出的不对的程序,我也能进行一些分析,并对其进行完善。在此次的学习过程中,同伴教给了我们很多的东西,从一开始的不懂VC++这种软件,到最后的我们可以进行较熟练的应用它,也许在这过程中,我们无论是谁都遇到了一些小的困难,但是在我们的共同努力下,我们最终还是克服了它,单从这一点来说,我们就学到了许多的东西,比如teamwork,同学之间的相互帮助与配合,都证明了这一点,我相信这是我此次学习C语言程序的最大收获。 在我的程序设计的过程中,遇到了很大有难题,特别是在刚拿到我的题目时,头脑中根本没有头绪,更不要说去编译程序了,当时真的很担心是否可以完成老师布置的任务,但慢慢的在学习的过程中,我开始懂得了一些编译的方法,就尝试着去编译一些程序,结果还是很好,最后我编出了我题目的程序,但是在程序的运行过程中,又遇到了新的难题,那就是我所编的程序中有太多的错误,根本无法进行运行,没办法,只好硬着头皮修改,不过还好,在同伴的帮助下,我最终将我的程序成功地进行了运行,在我自己的程序运行时,心中有一种说不出的高兴,是的,我们这几天的努力总是没有白费。 12
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服