大奖赛评分系统C语言课程设计_第1页
大奖赛评分系统C语言课程设计_第2页
大奖赛评分系统C语言课程设计_第3页
大奖赛评分系统C语言课程设计_第4页
大奖赛评分系统C语言课程设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

⑷从2月26日起,学生每天至少要到设计教室半天以上;设计报告撰写格式要求:设计报告的主要内容是详细写出在设计过程中所用到的主要技术或方法;课程设计报告按通用格式书写,具体要求见资料:“课程设计说明书的书写内容与格式”时间安排:第一天:学生先在实验室集中,由指导教师介绍课程设计的目的、布置任务后选题;第二天-第四天:学生在实验室完成设计,经教师检查并回答提问,确认设计完成;第五天:教师在计算机上先检查设计报告、学生修改后打印提交指导教师签字:2月20日系主任签字:2月23日目录1.设计题目 52.开发环境 53.开发工具 54.完成时间 55.设计思想 56.设计过程及设计步骤 67.测试运行 68.评价与修订 79.设计体会 710.参考文献 8《比赛评分系统的设计》课程报告1设计题目比赛评分系统的设计2开发环境2.1硬件环境微机系列,内存在1G以上2.2软件环境MicrosoftWindowsXP,MicrosoftWindows7;3.开发工具VisualC++6.04.完成时间.2.25.3.15.设计思想首先根据设计题目思考设计的要点,确定要做的事情,在网上翻阅了许多资料都过于复杂,最后我决定用类似for结构,switch结构一些简单的结构写出程序.然后根据思想画出程序框图,然后列出基本步骤完成程序,再运行测试,最后修改完善整个程序程序。6.设计过程及设计步骤6.1算法设计比赛评分系统的算法流程图如图6-1所示。开始开始输入选手数及裁判数m,nk=0k++k<=n?i=0i++i<=m?输入评分a[i]sum=0j=0j++j<=m?sum=sum+a[j]pj=(sum-a[1]-a[2]-a[m]-a[m-1])/(m-4)b[n]=pjA是是是否否否

AAj=0j++j<=n?x=0,k=0x++x<=n?b[j]>b[x]?p=n-kp==1?k++p=0Bp==2?p==3?输出第一名输出第二名输出第三名是是是是是否否否否否BBv=0v++v<=50?j=0j++k=0j<=n?x=0x++x<=n?b[j]>b[x]?p=n-kp==v?输出该选手成绩结束是是是k++是是否否否否图6-1比赛评分系统的算法流程图6.2比赛评分系统的设计步骤1.宏定义符号常量N(选手数),M(评委数),P(评分选项数);2.定义评委评分,选手得分的数组fen[50];3.用for循环嵌套经过评委数量与选手数量控制评分项的完整输入,再用scanf语句对应二维数组a[]使评分与选手结合,在k=N时跳出循环;4.用冒泡法将评分按大小排序,接着去除二个最高分与二个最低分算出选手最终得分;部分程序如下:for(b=0;b<n;b++)

{

for(i=0;i<m;i++)

{

printf("请%d号裁判输入对%d号选手评分",i+1,b+1);

scanf("%d",&fen[i]);

}

for(j=0;j<m;j++)

for(x=j+1;x<m;x++)

if(fen[j]<fen[x])

{zhong=fen[x];

fen[x]=fen[j];

fen[j]=zhong;

}

c++;

sum=0;

for(a=0;a<m;a++)

sum=sum+fen[a];

pj=(sum-fen[0]-fen[1]-fen[m-2]-fen[m-1])/(m-4);

he[c]=pj;

printf("去掉2个最高分和2个最低分号%d选手的平均分为%f分\n",b+1,pj);

}5.用一个for循环经过x控制姓名数量,经过scanf函数实现选手姓名的录入,在x<n是跳出循环;部分程序如下:for(v=1;v<50;v++)

{

for(j=1;j<=n;j++)

{k=0;

for(x=1;x<=n;x++)

if(he[j]>he[x])

k++;

p=n-k;

if(p==v)

{printf("第%d号选手获得第%d名成绩为%f\n",j,p,he[j]);break;}

}

}6.用printf函数和for循环将最后的比赛名次与获奖选手姓名一一对应的完整输出;7.程序调试1.第一次运行程序时,发现人数设定不符合题目要求,重新修改后运行结果良好;图7-1输入数据的运行截图第二次运行程序成功后,发现奖项设置不符合实际情况,返回程序做出修改后运行结果良好;图7-2运行结果截图8.遇到的问题及不足8.1评价1.程序没用复杂的结构,具有简洁性;2.程序不够贴合实际,还需做出更进一步的设计;3.程序设计的能力还需加强;4.没有使用文件系统,程序中信息无法长期保存和连续使用;8.2修订1.对程序中的人数和奖项设定做了修改,形成动态改变,使之更具有通用性;2.对程序中的评分精确度做出了改正,使之保留得分的小数点后2-3位;3.程序不能够做到灵活可变,但试着改进后发现不成功;4.应在程序中加入数据文件的应用。10.参考文献[1]谭浩强•C语言程序设计教程•北京:清华大学出版社,5月[2]王路明•C语言程序设计教程•北京:北京邮电大学出版社,5月[3]谭浩强·C++程序设计·北京:清华大学出版社·实训体会经过这次实训也让我们同学之间的关系更加融洽。在制作作品的过程中我深深感受到了同学们互帮互助的融洽学习氛围。每当遇到困难时我身边的同学都会很热心的过来提供帮助。正是因为她们帮我解决了一个又一个的困难。我的作品才能够得以完成。经过这次实训我深刻体会到了同学之情的珍贵。我相信在今后的日子里一定会加倍的珍惜这份情谊。这次实训还让我体会到了成功的喜悦。当经过努力把那些作品完成的时候,那种成就感,我想只有设计者本人能够体会。有了这次经历我相信我以后一定会认真的对待每个任务,争取把每件事情都做到最好。这次的实训真真是苦不堪言啊,看着选好的题目,比赛评分系统的设计应该还算比较简单的了,但苦苦思索就是无法动手开编,那种完全没有头绪的感觉,直叫人为当初没有学好专业知识而叫苦不迭,可还是要将实训进行下去,只好依靠互联网的神奇力量找了一份参考,做出修改和设定后就算是完成了,运行成功后再次作了修改。虽然报告是勉强过关了,但我能感觉到的是经过这次的实训,我们除了抗压能力隐忍能力耍小聪明的能力强了那么一丁点而已,这次的实训让我们真真领会了学习的严谨性和学好专业知识的重要性,现在的我们明白了掌握专业知识的必要性,因此更加迫切的需要黄老师带领我们去学习真正的专业技能,更加真实的希望以后的实训更加有长进了。设计过程中现场提问(或答辩)记载:1.问:对于选手和评委的人数设定是否符和要求?答:是严格按照题目要求来做的,选手,评委都是可输入的。2.问:对于各奖项人数的设定是否符合实际情况?答:一等奖设定的是1名,二等奖设定的是2名,三等奖设定的是3名,还算符合实际。问:一等奖的选手得分仿佛过于精确了,小数点后的位数是否能够减少几位?答:是修改的时候没有改到的地方,在输出时%f改为%.2f即可解决。指导教师评语:成绩评定等级:指导教师(签名):年2月附录:源程序代码比赛评分系统的设计程序#include<stdio.h>

main()

{intn,m,b,s,i,j,x,a,fen[50],c=0,k=0,p,v,d,e,g;

doublef,zhong=0,sum=0,pj,he[51];

printf("请输入比赛选手人数n以及裁判人数m中间以逗号隔开:");

scanf("%d,%d",&n,&m);

for(b=0;b<n;b++)

{

for(i=0;i<m;i++)

{

printf("请%d号裁判输入对%d号选手评分",i+1,b+1);

scanf("%d",&fen[i]);

}

for(j=0;j<m;j++)

for(x=j+1;x<m;x++)

if(fen[j]<fen[x])

{zhong=fen[x];

fen[x]=fen[j];

fen[j]=zhong;

}

c++;

sum=0;

for(a=0;a<m;a++)

sum=sum+fen[a];

pj=(sum-fen[0]-fen[1]-fen[m-2]-fen[m-1])/(m-4);

he[c]=pj;

printf("去掉2个最高分和2个最低分号%d选手的平均分为%f分\n",b+1,pj);

}

printf("\n*******获奖名单******\n");

for(j=1;j<=n;j++)

{k=0;

for(x=1;x<=n;x++)

if(he[j]>he[x])

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;v<50;v++)

{

for(j=1;j<=n;j++)

{k=0;

for(x=1;x<=n;x++)

if(he[j]>he[x])

k++;

p=n-k;

if(p==v)

{printf("第%d号选手获得第%d名成绩为%f\n",j,p,he[j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论