iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言如何实现歌手比赛系统
  • 436
分享到

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

2023-06-30 16:06:29 436人浏览 八月长安
摘要

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

这篇文章主要讲解了“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语言如何实现歌手比赛系统这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: C语言如何实现歌手比赛系统

本文链接: https://www.lsjlt.com/news/330447.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • c语言怎么计算字符串长度
    在C语言中,可以使用内置的strlen()函数来计算字符串的长度。该函数位于string.h头文件中。以下是一个示例代码: #inc...
    99+
    2024-05-14
    c语言
  • c语言怎么判断三个数的大小
    可以通过比较三个数之间的大小关系来判断它们的大小。以下是一个示例代码: #include <stdio.h> int ...
    99+
    2024-05-14
    c语言
  • c++排序函数sort怎么使用
    在C++中,使用sort函数对容器中的元素进行排序,可以按照默认的升序排列,也可以自定义排序规则。 下面是一个简单的例子,对一个ve...
    99+
    2024-05-14
    c++
  • c++中string的compare函数怎么使用
    在C++中,可以使用string的compare函数来比较两个string对象的大小。该函数的原型如下: int compare(c...
    99+
    2024-05-14
    c++
  • c++中string的compare函数有什么用
    c++中string的compare函数用于比较两个字符串的大小关系。该函数返回一个整数值,表示两个字符串的比较结果。 具体来说,如...
    99+
    2024-05-14
    c++
  • c++中print函数的功能有哪些
    在C++中,通常使用std::cout来进行输出操作,而不是使用print函数。std::cout是C++标准库中的一个输出流对象,...
    99+
    2024-05-14
    c++
  • c语言数据结构怎么使用
    在C语言中,数据结构可以通过定义结构体来实现。以下是一些常见的数据结构的使用方法示例: 链表: #include <std...
    99+
    2024-05-14
    c语言
  • c++中print函数的用法是什么
    在C++中没有内置的print函数,但可以使用cout来输出内容到控制台。cout是C++标准库中的一个输出流对象,可以使用<...
    99+
    2024-05-14
    c++
  • c++中concept的用法是什么
    在C++20中,Concept是一种新的语言特性,用于定义类型要求和约束。Concept可以被用来约束函数模板、类模板和普通函数的参...
    99+
    2024-05-14
    c++
  • c++中concept的作用是什么
    在C++中,concept的作用是定义一种通用的约束,用于限制模板参数的类型范围。通过使用concept,可以在编译时对模板参数进行...
    99+
    2024-05-14
    c++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作