欢迎来到天天文库
浏览记录
ID:9052788
大小:578.11 KB
页数:25页
时间:2018-04-16
《歌手评分系统设计-c语言大作业说明书》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、成绩:序号:05华南理工大学广州学院2014-2015学年度第一学期课程名称:C语言大作业项目题目:歌手评分系统专业班级:通信3班年级:2014级姓名:陈治烽学号:201430110016一、开发工具MicrosoftVisualc++6.0用到的基本原理和技术用到了结构体数组,数组,调用函数以及其的形式说明,多个if选择结构,for循环镶嵌结构,while和do……while两种循环结构,C语言基本标准函数库里面的暂停系统和清屏系统,还用了字符串比较函数strcmp,还有数组元素互换的基本技术等。需求说明需掌握结构体的用法和调用函数的用法,要弄清它们的
2、区别,两者放在一起容易错,要分清while和do……while两种循环结构的区别,使用strcmp函数时注意strcmp函数括号内的要比较的两种东西的数据类型要相同不然就会有warning。程序概要设计我所设计的程序实现了菜单循环功能但稍微有点缺陷,菜单中含有4个功能,一是录入选手信息并计算其最终成绩的功能,最后一起按最终成绩由高到低排名的功能,二是浏览功能,三是查询功能,四是继续或退出功能。缺陷是第四功能中的退出功能只能循环2次。简要流程图开始intchoose;printf("歌手评分系统");1Menu();scanf("%d",&choose);
3、choose<0
4、
5、choose>4printf("你的输入有误,请重新输入(1-4):");scanf("%d",&choose);choose==1Input();system("pause");system("cls");choose==2show();system("pause");system("cls");choose==3search();system("pause");system("cls");choose==4printf("是否退出程序(按1继续,按0退出):");scanf("%d",&choose);Menu();scanf("%d
6、",&choose);choose<0
7、
8、choose>4printf("你的输入有误,请重新输入(1-4):");scanf("%d",&choose);choose==1Input();system("pause");system("cls");choose==2show();system("pause");system("cls");choose==3search();system("pause");system("cls");choose==1choose==0printf("欢迎使用程序!");return;结束程序详细设计菜单功能使用while
9、和do……while两种循环实现如用这样的格式实现while(1){菜单;scanf(“%d”,&choose);If(choose==1)……If(choose==2)……If(choose==3)……If(choose==4){printf("是否退出程序(按1继续,按0退出):");scanf("%d",&choose);do……{}while(choose==1)If(choose==0)printf("欢迎使用程序!");return;}其他3个功能均以调用函数的形式放到主函数中。第一个功能先用for循环录入选手信息,然后用for和if计算,如代码
10、for(i=0;i<10;i++){sum=0;max=min=singer[i].score[0];for(j=0;j<10;j++){sum=sum+singer[i].score[j];if(maxsinger[i].score[j])min=singer[i].score[j];//求出每位选手的总分和分数最值}singer[i].finalscore=(sum-max-min)/8;//求出每位选手的最终平均分}然后用for循环和元素互换法给最终成绩
11、排序,并以此为选手排名,如代码for(i=0;i<9;i++){k=i;for(j=i+1;j<10;j++){if(singer[j].finalscore>singer[k].finalscore)//进行前一位选手与后面选手的成绩比较k=j;}temp=singer[k];singer[k]=singer[i];singer[i]=temp;//进行singer[k]和singer[i]元素互换}for(i=0;i<10;i++){singer[i].sork=i+1;//按最终成绩高低排序}return;第二功能的实现用for循环打印出选手相应信息,
12、如代码inti;for(i=0;i<10;i++){
此文档下载收益归作者所有