文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言如何实现歌手比赛系统

2023-06-30 16:59

关注

这篇文章主要讲解了“C语言如何实现歌手比赛系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何实现歌手比赛系统”吧!

一、项目简介

对一次歌手比赛的成绩进行管理
输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。

二、任务概述

要求歌手比赛系统实现对学生基本信息(如编号、姓名、性别等)及十个评委的成绩的管理(增加、删除、修改或更新、查询、统计、保存到文件、从文件装载等操作)。

三、功能展示

C语言如何实现歌手比赛系统

C语言如何实现歌手比赛系统

C语言如何实现歌手比赛系统

C语言如何实现歌手比赛系统

四、思维导图

C语言如何实现歌手比赛系统

五、程序源码

#include<stdio.h>#include<stdlib.h>struct singer {    int num;    char name[10];    float score[20];    float aver;    float sum;    int ord;}singer[100]; void singer_information(int b)  {    int i;    for(i=1;i<=b;i++)    {        printf("请输入选手编号:");        scanf("%d",&singer[i].num);        printf("请输入选手姓名:");        scanf("%s",&singer[i].name);    } }int singer_score(int b)    {    int j,c;    float a[50];    for(j=1;j<=b;j++)            {                printf("\n请输入评委1对歌手%d的打分",j);                scanf("%f",&singer[j].score[1]);                printf("请输入评委2对歌手%d的打分",j);                scanf("%f",&singer[j].score[2]);                printf("请输入评委3对歌手%d的打分",j);                scanf("%f",&singer[j].score[3]);                printf("请输入评委4对歌手%d的打分",j);                scanf("%f",&singer[j].score[4]);                printf("请输入评委5对歌手%d的打分",j);                scanf("%f",&singer[j].score[5]);                printf("请输入评委6对歌手%d的打分",j);                scanf("%f",&singer[j].score[6]);                printf("请输入评委7对歌手%d的打分",j);                scanf("%f",&singer[j].score[7]);                printf("请输入评委8对歌手%d的打分",j);                scanf("%f",&singer[j].score[8]);                printf("请输入评委9对歌手%d的打分",j);                scanf("%f",&singer[j].score[9]);                printf("请输入评委10对歌手%d的打分",j);                scanf("%f",&singer[j].score[10]);                a[j]=singer[j].score[1]+singer[j].score[2]+singer[j].score[3]+singer[j].score[4]+singer[j].score[5]+singer[j].score[6]+singer[j].score[7]+singer[j].score[8]+singer[j].score[9]+singer[j].score[10];                singer[j].sum=a[j];            }                }int singer_grade(int b){    int a,c;    float n[50],max,min;    for(a=1;a<=b;a++)    {        max=singer[a].score[1];        min=singer[a].score[1];        for(c=1;c<=10;c++)            {                if(max<singer[a].score[c])   max=singer[a].score[c];                if(min>singer[a].score[c])   min=singer[a].score[c];            }        n[a]=(singer[a].sum-max-min)/8.0;        singer[a].aver=n[a];            }        }int order(int b) {    int j,t,i;        for(i=1;i<=b;i++)                {                for(j=1,t=1;j<=b;j++)                {                if(singer[i].aver<singer[j].aver)                {                t=t+1;                }                }                singer[i].ord=t;                }                for(i=1;i<=b;i++)                {                    for(j=1;j<=b;j++)                    {                        if(i==singer[j].ord)                            printf("%s是第%d     得分为%15.2f\n",singer[j].name,i,singer[j].aver);                    }                    printf("\n\n\n");                }            }int search(int c) {    printf("所查选手的数据:编号%d    姓名%s   平均成绩%f   总成绩%f\n",singer[c].num,singer[c].name,singer[c].aver,singer[c].score[c]);    }    int addition(int i) {     printf("请输入选手编号及姓名:");    scanf("%d,%s/n",&singer[i+1].num,&singer[i+1].name);        printf("请输入评委1对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[1]);    printf("请输入评委2对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[2]);    printf("请输入评委3对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[3]);    printf("请输入评委4对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[4]);    printf("请输入评委5对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[5]);    printf("请输入评委6对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[6]);    printf("请输入评委7对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[7]);    printf("请输入评委8对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[8]);    printf("请输入评委9对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[9]);    printf("请输入评委10对歌手%d的打分",i+1);    scanf("%d",&singer[i+1].score[10]); }main(){    int a,b,c,i,n=1;    FILE *fp;    fp = fopen("歌手.txt","wt+");         printf("     歌手比赛系统   \n");     printf("*********************\n");     printf("* 1)输入选手数据   *\n");      printf("* 2)评委打分       *\n");     printf("* 3)成绩排序       *\n");     printf("* 4)数据查询       *\n");     printf("* 5)追加学生数据   *\n");     printf("* 6)写入数据文件   *\n");           printf("* 7)退出系统       *\n");     printf("*********************\n");    while(n)    {    printf("你想进行的操作: ");    scanf("%d",&a);    printf("\n\n");    switch(a)    {        case 1:                 printf("你想进行的操作:输入选手数据\n ");                 printf("请输入选手个数");                scanf("%d",&b);                singer_information(b);                printf("----------------------\n");                    break;        case 2:                 printf("你想进行的操作:评委打分\n ");                singer_score(b);                printf("-----------------------\n");                         break;        case 3:                  printf("你想进行的操作:成绩排序(按平均分)\n ");                singer_grade(b);                order(b);                printf("-------------------------\n");                          break;        case 4:                printf("你想进行的操作:数据查询\n ");                 printf("请输入要查询选手编号:");                  scanf("%d",&c);                 printf("所查选手的数据:编号%d    姓名%s   平均成绩%f   总成绩%f\n",singer[c].num,singer[c].name,singer[c].aver,singer[c].sum);                                 printf("--------------------------\n");          break;        case 5:                printf("你想进行的操作:追加学生数据\n ");                 addition(b);                   printf("---------------------------\n");                          break;        case 6:                 printf("你想进行的操作:写入数据文件\n ");                printf("将数据写入文件中:\n");                for (i = 0 ; i <=b ; i++)                {                    fprintf(fp,"%d ",singer[i].num);                    fprintf(fp,"%s ",singer[i].name);                    fprintf(fp,"%d\n",singer[i].aver);                    }         break;        case 7: exit(0);        default :printf("输入错误请重新输入!\n");    }    }}

感谢各位的阅读,以上就是“C语言如何实现歌手比赛系统”的内容了,经过本文的学习后,相信大家对C语言如何实现歌手比赛系统这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯