版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告歌手比赛系统姓名:XXX学号:XXX专业:XXXX班级:XXXX指导教师:XX职称:XXX2012年6月20日目录1.引言12.系统设计12.1设计分析12.1.1工程描述12.2程序结构2程序划分22.2.2程序结构流程图33.系统实现33.1各模块的功能及程序说明33.2系统主要功能模块的运行效果图34.设计体会65.参考文献76.源程序代码71.摘要C语言是一门计算机高级语言,它在Microsoft开发的软件VisualC++6.0中执行,C语言具有很多优点:
1.C语言具有丰富的数据类型,众多的运算符,表达结构化程序设计的优良控制结构,具有抽象功能及表达信息隐蔽思想的函数。
2.C语言的应用几乎普及了程序的各个领域,如科学家,系统程序设计,字处理软件和电子表格软件的开发,信息管理,计算机辅助设计,等方面。
3.C语言简洁,为完成某一功能所写的源程序代码往往比其他语言写得短,便利程序输入工作量减少。
4.假设程序员在书写过程时严格遵循ANSIC标准,那么其源代码可不作修改,即可用于各种型号的计算机和各种操作系统,因此,C语言具有良好的可移植性。
本次实践我们选择了使用C语言编写基于链表的程序,不仅使大家对程序设计、编程方法有了进一步提高,而且掌握了使用C语言动态内存分配及数据结构等方面的知识。2.系统设计2.1设计分析工程描述1.工程名称:歌手打分系统2.功能描述:〔1〕生成字符界面的功能菜单**********1.输入选手数据********************2.评委打分************************3.成绩排序************************4.数据查询************************5.追加学生数据********************6.写入数据文件********************7.退出系统**************(2)通过输入菜单项的序号启动相应模块的功能能够根据输入的选手人数创立链表;录入9名评委给选手的打分,并存储到文件singerOriginal.dat中;按照去掉一个最高分和去掉一个最低分的原那么求每名选手的平均分;按平均分由高到低的顺序对选手进行排序;把排名后的数据存储到文件singerFianl.dat中;把原始数据和最终的结果输出到屏幕;在第②步中保存singerOriginal.dat文件之前,可根据情况修改数据,例如:插入或删除歌手。2.2程序结构程序划分将歌手打分系统程序进行系统模块划分,共分为九局部,分别是:1.定义结构体2.创立链表函数3.输入数据函数4.计算函数5.排序函数6.输出数据函数7.输出最终数据8.删除函数9.插入函数10.主函数程序结构流程图mainmain输出数据存储数据排序求平均分得分维护得分录入输出数据存储数据排序求平均分得分维护得分录入创立链表输入成绩创立链表输入成绩3.系统实现3.1各模块的功能及程序说明创立链表:使用尾插法插入数据;输入选手信息:包括选手信息的输入,选手成绩的输入,去掉一个最高分和最低分,并将其余评委的评分求出平均值。输出选手排名:包括选手成绩排名。删除和插入选手信息:将退赛选手和新参加的比赛的选手进行删除和插入。主函数:将所有函数实现。3.2系统主要功能模块的运行效果图程序的运行效果图:4.设计体会在本次的C语言实践中,让我受益匪浅,通过本次的实践,让更深入的了解了C语言这门计算机语言,也明白了软件开发的相关流程和根本步骤,也许我的程序还存在些许问题,也许还不完美,但是我相信在以后的学习中我们会继改良的。也希望老师可以给我们提出您的珍贵意见。5.参考文献编程入门网:://baiduC程序设计〔第四版〕谭浩强著6.源程序代码#include<stdio.h>#include<stdlib.h>#include<time.h>#include<string.h>#defineN3#defineM10intadd=N-1;intsum[N]={0},Max[N],Min[N];floataver[N]={0};structplayer{intnum;charname[8];intscore[M];};voidInistplayer(structplayera[],intn){inti;for(i=0;i<n;i++)scanf("%d%s",&a[i].num,&a[i].name);}voidInputscore(intscore[],intn){inti;for(i=0;i<n;i++)score[i]=1+(int)10*rand()/(RAND_MAX+1);}voidsort(structplayera[],floatb[],intn){inti,k,j,t;floattemp;charstr[8];for(i=0;i<n;i++){k=i;for(j=i+1;j<n;j++)if(b[k]>b[j])k=j;if(k!=i){temp=b[i];b[i]=b[k];b[k]=temp;strcpy(str,a[i].name);strcpy(a[i].name,a[k].name);strcpy(a[k].name,str);t=a[i].num;a[i].num=a[k].num;a[k].num=t;}}}voidmain(){intflag=1,n,i,m,j;FILE*fp;fp=fopen("data.txt","w+");structplayera[20];printf("**********1.输入选手数据***********\n");printf("**********2.评委打分***************\n");printf("**********3.成绩排序***************\n");printf("**********4.数据查询***************\n");printf("**********5.追加学生数据***********\n");printf("**********6.写入数据文件***********\n");printf("**********7.退出系统***************\n");while(flag){printf("你想进行的操作:");scanf("%d",&n);switch(n){case1:Inistplayer(a,N);break;case2:srand((unsigned)time(NULL));for(i=0;i<N;i++){printf("%d位选手的成绩:",i+1);Inputscore(a[i].score,M);for(j=0;j<M;j++)printf("%d",a[i].score[j]);printf("\n");}break;case3:for(i=0;i<N;i++){Max[i]=a[i].score[0];Min[i]=a[i].score[0];for(j=0;j<M;j++){sum[i]+=a[i].score[j];if(Max[i]<a[i].score[j])Max[i]=a[i].score[j];if(Min[i]>a[i].score[j])Min[i]=a[i].score[j];}aver[i]=(float)(sum[i]-Max[i]-Min[i])/(M-2);}sort(a,aver,N);for(i=0;i<N;i++)printf("%s%5.2f\n",a[i].name,aver[i]);break;case4:printf("你想查询选手的数据:");scanf("%d",&m);for(i=0;i<N;i++)if(a[i].num==m){printf("%d号选手%s总分:%d,最高分%d,最低分%d,平均分%5.2f",a[i].num,a[i].name,sum[i],Max[i],Min[i],aver[i]);printf("\n");}break;case5:printf("请输入要追加的选手数据:\n");add+=1;scanf("%d%s",&a[add].num,&a[add].name);break;case6:printf("将数据写入文件中:\n");for(i=0;i<add+1;i++){fprintf(fp,"%d",a[i].num);fprintf(fp,"%s",a[i].name);fprintf(fp,"%d\n",a[i].score);}break;case7:exit(0);break;default:flag=0;}}}课程设计报告评分表〔即封底〕东华理工大学学年课程设计报告评分表学生姓名:XXX学号:XXXXX班级:XXXX课程设计题目:歌手比赛系统工程内容总分值实评选题能结合所学课程知识、有一定的能力训练。符合选题要求〔3人一题〕5工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献及运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等10能表达创造性思维,或有独特见解15成果质量模型正确、合理,各项技术指标符合要求。15摘要表达简练完整,假设合理、问题分析正确、数学用语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5s制度奖惩制度
- 13岁小孩家庭奖惩制度
- 3到6岁儿童奖惩制度
- 外资企业行政岗位招聘的面试秘籍
- 京东价格运营的培训与知识
- 2026年内蒙古乌兰察布市集宁地区高一生物第二学期期末统考模拟试题含解析
- 2026年XX高级中学关于落实“双减”要求工作情况的说明报告
- 人员进出管理制度(7篇)
- 湖北省利川市2026届初三第三次四校联考化学试题试卷含解析
- 2026年四川营山化育中学初三二诊模拟化学试题含解析
- Unit1Unit2语法情态动词课件高中英语外研版
- 高空作业安全技术交底范文
- 班组长的一天课件概述
- 轻医美面部风水课件
- 吉林省人口老龄化对经济发展的影响及应对策略研究
- 学科基础设施建设规划方案
- 名师作文课堂:如何写正反对比类议论文
- 2025年国家公务员面试考试试题与参考答案
- 代码特征提取-洞察及研究
- 2025年武汉民政职业学院单招《语文》真题及答案详解(有一套)
- 自动化生产线安装与调试-课件
评论
0/150
提交评论