1、大奖赛评分系统C语言专业课程设计样本大奖赛评分系统C语言专业课程设计学号武汉理工大学华夏学院课 程 设 计课程名称 C语言课程设计题 目 比赛评分系统的设计专 业 软件工程 班 级 软件1121班 姓 名 成 绩 _指导教师 王绪梅 2013年2月25日至2013年3月1 日课程设计任务书学生姓名: 专业班级: 软件1121 指导教师: 王绪梅 工作单位: 信息工程系 设计题目: 比赛评分系统的设计要求完成的主要任务:1. 任务描述 学校要举办一个歌咏比赛,请设计一个比赛评分程序,对参赛的选手进行评分。(给分的原则为:满分为10分;计分方法是:裁判给出分数后,去掉两个最高分和两个最低分后的平均
2、分为选手的最后得分(精确到小数点后两位).) 要求系统实现以下功能: 设参赛人数为n位(n50),裁判人数为m(m为不少于11的奇数)位; 系统能录入参赛人员资料;参赛选手按序号依次比赛,统计最后得分; 能够查阅选手的得分情况; 比赛结束后,显示出“名次表”; 公布一、二、三等奖的得奖选手名单。2.本课程涉及的知识点 变量的定义、输入和输出函数、数组的应用、循环语句、选择语句等等。 3. 要求完成的任务 完成整个规定任务的设计及调试,最后得出正确结果,并经教师检查及答辩; 写出规范的课程设计报告,在设计思想描述时一定要画出程序算法流程图; 课程设计结束后交设计说明书等文档和设计内容: 从2月2
3、6日起,学生每天至少要到设计教室半天以上;设计报告撰写格式要求:设计报告的主要内容是详细写出在设计过程中所用到的主要技术或方法;课程设计报告按通用格式书写,具体要求见资料:“课程设计说明书的书写内容与格式”时间安排:第一天: 学生先在实验室集中,由指导教师介绍课程设计的目的、布置任务后选题;第二天-第四天:学生在实验室完成设计,经教师检查并回答提问,确认设计完成;第五天: 教师在计算机上先检查设计报告、学生修改后打印提交指 导 教 师 签 字: 2013年2月 20日系 主 任 签 字: 2013年2月 23日比赛评分系统的设计课程报告1 设计题目比赛评分系统的设计 2 开发环境 微机系列,内
4、存在1G以上Microsoft Windows XP, Microsoft Windows 7;Visual C+ 首先根据设计题目思考设计的要点,确定要做的事情,在网上翻阅了许多资料都过于复杂,最后我决定用类似for结构,然后列出基本步骤完成程序,再运行测试,最后修改完善整个程序程序。 算法设计比赛评分系统的算法流程图如图6-1所示。图6-1 比赛评分系统的算法流程图 (选手数),M(评委数),P(评分选项数);,选手得分的数组fen50;,再用scanf语句对应二维数组a使评分与选手结合,在k=N时跳出循环;,接着去除二个最高分与二个最低分算出选手最终得分;部分程序如下:for(b=0;b
5、n;b+)for(i=0;im;i+)printf(请%d号裁判输入对%d号选手评分,i+1,b+1);scanf(%d,&feni); for(j=0;jm;j+)for(x=j+1;xm;x+)if(fenjfenx)zhong=fenx;fenx=fenj;fenj=zhong;c+;sum=0;for(a=0;am;a+)sum=sum+fena;pj=(sum-fen0-fen1-fenm-2-fenm-1)/(m-4);hec=pj;printf(去掉2个最高分和2个最低分号%d选手的平均分为%f分n,b+1,pj);,通过scanf函数实现选手姓名的录入,在xn是跳出循环;部分程
6、序如下:for(v=1;v50;v+)for(j=1;j=n;j+)k=0;for(x=1;xhex)k+;p=n-k;if(p=v)printf( 第%d号选手获得第%d名成绩为%fn,j,p,hej);break;; ,发现人数设定不符合题目要求,重新修改后运行结果良好; 图7-1 输入数据的运行截图第二次运行程序成功后,发现奖项设置不符合实际情况,返回程序做出修改后运行结果良好; 图7-2 运行结果截图 ,具有简洁性;,还需做出更进一步的设计;,程序中信息无法长期保存和连续使用; ,形成动态改变,使之更具有通用性; ,使之保留得分的小数点后2-3位; ,但试着改进后发现不成功; 4应在程
7、序中加入数据文件的应用。 1 谭浩强C语言程序设计教程北京:清华大学出版社,2005年5月 2 王路明C语言程序设计教程北京:北京邮电大学出版社,2005年5月 3 谭浩强C+程序设计北京:清华大学出版社200411.实训体会通过这次实训也让我们同学之间的关系更加融洽。在制作作品的过程中我深深感受到了同学们互帮互助的融洽学习氛围。每当遇到困难时我身边的同学都会很热心的过来提供帮助。正是因为他们帮我解决了一个又一个的困难。我的作品才能够得以完成。通过这次实训我深刻体会到了同学之情的珍贵。我相信在今后的日子里一定会加倍的珍惜这份情谊。 这次实训还让我体会到了成功的喜悦。当通过努力把那些作品完成的时
8、候,那种成就感,我想只有设计者本人能够体会。有了这次经历我相信我以后一定会认真的对待每个任务,争取把每件事情都做到最好。这次的实训真真是苦不堪言啊,看着选好的题目,比赛评分系统的设计应该还算比较简单的了,但苦苦思索就是无法动手开编,那种完全没有头绪的感觉,直叫人为当初没有学好专业知识而叫苦不迭,可还是要将实训进行下去,只好依靠互联网的神奇力量找了一份参考,做出修改和设定后就算是完成了,运行成功后再次作了修改。虽然报告是勉强过关了,但我能感觉到的是通过这次的实训,我们除了抗压能力隐忍能力耍小聪明的能力强了那么一丁点而已,这次的实训让我们真真领会了学习的严谨性和学好专业知识的重要性,现在的我们明白
9、了掌握专业知识的必要性,所以更加迫切的需要黄老师带领我们去学习真正的专业技能,更加真实的希望以后的实训更加有长进了。设计过程中现场提问(或答辩)记载:1.问:对于选手和评委的人数设定是否符和要求? 答:是严格按照题目要求来做的,选手,评委都是可输入的。2. 问:对于各奖项人数的设定是否符合实际情况? 答:一等奖设定的是1名,二等奖设定的是2名,三等奖设定的是3名,还算符合实际。3. 问:一等奖的选手得分好像过于精确了,小数点后的位数是否可以减少几位? 答:是修改的时候没有改到的地方,在输出时%f改为%.2f即可解决。指导教师评语:成绩评定等级:指导教师(签名):2012 年 2 月 17 日附
10、录:源程序代码比赛评分系统的设计程序#includemain() int n,m,b,s,i,j,x,a,fen50,c=0,k=0,p,v,d,e,g;double f,zhong=0,sum=0,pj,he51;printf(请输入比赛选手人数n以及裁判人数m中间以逗号隔开:);scanf(%d,%d,&n,&m);for(b=0;bn;b+)for(i=0;im;i+)printf(请%d号裁判输入对%d号选手评分,i+1,b+1);scanf(%d,&feni); for(j=0;jm;j+)for(x=j+1;xm;x+)if(fenjfenx)zhong=fenx;fenx=fen
11、j;fenj=zhong;c+;sum=0;for(a=0;am;a+)sum=sum+fena;pj=(sum-fen0-fen1-fenm-2-fenm-1)/(m-4);hec=pj;printf(去掉2个最高分和2个最低分号%d选手的平均分为%f分n,b+1,pj);printf(n *获奖名单*n);for(j=1;j=n;j+) k=0;for(x=1;xhex)k+;p=n-k;if(p=1)printf( 第%d名选手获得一等奖n,j);if(p=2)printf( 第%d名选手获得二等奖n,j);if(p=3)printf( 第%d名选手获得三等奖n,j);p=0;printf(n *成绩表*n);for(v=1;v50;v+)for(j=1;j=n;j+)k=0;for(x=1;xhex)k+;p=n-k;if(p=v)printf( 第%d号选手获得第%d名成绩为%fn,j,p,hej);break;for(g=1;g=1;)printf(n是否继续查询选手成绩? n);scanf(%d,&e);switch(e)case 1:printf(输入选手序号查询成绩:);scanf(%d,&d);printf(该选手的最终成绩为%f分,hed);break;case 2:g=0;break;default:printf(输入有误!);break;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1