为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

唱歌比赛系统

2017-09-20 7页 doc 90KB 49阅读

用户头像

is_212655

暂无简介

举报
唱歌比赛系统沈 阳 航 空 航 天 大 学 课程设计       学    号 __2009041101034__       班    级 ____94110102_____       姓    名 __    刘建生  __ 指导教师 __    徐  晗__  2011年    6月    18日 沈阳航空航天大学 课程设计任务书 系:材料科学与工程学院    专业:金属材料工程  班级:94110102  学号:2009041101034  题目:唱歌比赛系统 一、课程设计时间 2010~11第2学期第15周,即6月13日~...
唱歌比赛系统
沈 阳 航 空 航 天 大 学 课程设计       学    号 __2009041101034__       班    级 ____94110102_____       姓    名 __    刘建生  __ 指导教师 __    徐  晗__  2011年    6月    18日 沈阳航空航天大学 课程设计任务书 系:材料科学与学院    专业:金属材料工程  班级:94110102  学号:2009041101034  题目:唱歌比赛系统 一、课程设计时间 2010~11第2学期第15周,即6月13日~6月17日,共计1周,20学时。 二、课程设计内容 用C语言编写软件,模拟唱歌比赛评分系统,用户界面中的菜单至少应包括“读取并显示选手名单,”表演与评分“打印最后程序,退出,4项,参赛3名选手名称和出场顺序存放在文件file22.txt中,评委共有7个,每当一个选手表演后,7个评委都分别评分0-10分,而选手的最终得分计算规则为:去掉7个评分的最高分和最低分,取剩下5个的平均值,程序最后打印出3位选手的成绩三、课程设计要求 1. 程序质量: ● 贯彻结构化的程序设计思想。 ● 用户界面友好,功能明确,操作方便。 ● 用户界面中的菜单至少应包括“读取并显示选手名单”、“表演与评分”、“打印最后成绩”、“退出”4项。 ● 代码应适当缩进,并给出必要的注释,以增强程序的可读性。 2. 课程设计: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的。 四、指导教师和学生签字 指导教师:________  学生签名:________ 五、成绩 六、教师评语 目录 一、需求分析    1 二、设计分析    2 三、主要界面截图    9 四、技术要点    10 五、个人总结    12 六、参考文献    12 七、源程序    12 一、需求分析 对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,功能分别是:读取并显示选手名单(duqubingxianshixuanshou),表演与评分(biaoyanyupingfen),打印最后成绩(dayinzuihouchengji)。 1、读取并显示选手名单(duqubingxianshixuanshou)主要是读取选手名单的原始数据存在D盘file22中; 2、表演与评分(biaoyanyupingfen)主要显示评委评分功能; 3、打印最后成绩(dayinzuihouchengji)主要是输出评委打出的分数。 二、设计分析 1、程序总体结构图 2 1 2、读取选手名单 结束 3、显示选手名单 结束 4、评委评分 6 8 结束 三、主要界面截图 四、技术要点 本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,添加及输入数据函数是程序中较核心部分。下面进行关键技术说明: 1、结构体的应用 结构体可以将不同类型的数据组合成一个有机的整体以便于应用。888结构体中包括参赛选手的名字,得分。具体定义如下: typedef struct competitor{     char name[20]; //名字     int order;  //顺序     float score; }competitor; 2、文件操作 包括写入和读出,此处只有读出,如下: (fp=fopen("file22.txt","r")打开文件 fclose(fp)关闭文件 3求总分和平均分 评委打分,累加分数为总分,求平均分时,首先要找到最高分和最低分,去掉之后再求。例如: for(j=1;j<7;j++){ //查找最高分和最低分             if(min>score[j])min=score[j];             if(max #include typedef struct competitor{     char name[20]; //名字     int order;  //顺序     float score; }competitor; competitor compet[3]; //用来存储3个参赛者的信息 void readFile(){     FILE *fp;     int i=0;     int order;     if((fp=fopen("file22.txt","r"))==NULL){ //打开选手文件         printf("打开选手信息文件失败!");         exit(0);     }         //读取3个选手信息到 compet[3] 中     for(i=0;i<3;i++){         fscanf(fp,"%d",&order);         fscanf(fp,"%s",&compet[order-1].name);         compet[order-1].order=order;     }             fclose(fp); } void menu(){        printf("按‘1’读取并显示选手名单\n");     printf("按‘2’表演与评分\n");     printf("按‘3’打印最后成绩\n");     printf("按‘4’退出\n");     printf("请选择操作:"); } void printCompetitorInf(){     int i=0;     printf("\n\t选手名称\t出场顺序\t\n");     for(i=0;i<3;i++){         printf("\t%s\t          %d\t\n",compet[i].name,compet[i].order);                    }        printf("\n\n"); } void performAndGrade(){     int i=0,j=0;     float min,max;     float score[7];     printf("\n\t\t选手们开始比赛了\n");     for(i=0;i<3;i++){         printf("第%d号选手%s完成了比赛,请裁判给予评分\n",compet[i].order,compet[i].name);            for(j=0;j<7;j++){             printf("第%d个裁判评分:",j+1);             scanf("%f",&score[j]);             if(score[j]<0||score[j]>10){                 printf("第%d个裁判评分不合法,请重新输入\n",j+1);                 j--;             }         }         min=score[0];         max=score[0];                 for(j=1;j<7;j++){ //查找最高分和最低分             if(min>score[j])min=score[j];             if(max
/
本文档为【唱歌比赛系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索