我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C语言实现歌手比赛系统

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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");
    }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

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

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

C语言实现歌手比赛系统

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

这篇文章主要讲解了“C语言如何实现歌手比赛系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何实现歌手比赛系统”吧!一、项目简介对一次歌手比赛的成绩进行管理输入每个选手的数据包括编号
2023-06-30

C++演讲比赛管理系统实现流程实例

这篇文章主要介绍了C++演讲比赛管理系统实现流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2022-11-13

Java实现排球比赛计分系统

初步计划:或许由于个人原因,排球计分系统在假期就完成了,一直未写博客,就这样一直在推就是不想写,在加上过完年就工作了,可能刚实习工作比较紧所以一直等到现在。写这个系统之前我简单构思了一下,因为离校前我去洛阳参加了一个多月的Java培训,所以
2023-05-31

C语言如何实现手机电话簿管理系统

本篇内容介绍了“C语言如何实现手机电话簿管理系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、任务概述用c设计出模拟手机通讯录管理系统,
2023-06-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录