基于C语言开发一个歌手比赛系统

题目描述

设计一个歌手比赛系统,对一次歌手比赛的成绩进行管理,功能要求:

1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。

2、显示主菜单如下:1)输入选手数据2)评委打分3)成绩排序(按平均分)4)数据查询5) 追加/修改歌手数据6)写入数据文件7)退出系统。

案例代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_SINGERS 100
#define JUDGES 10

struct Singer {
    int id;
    char name[50];
    float scores[JUDGES];
    float total_score;
    float average_score;
};

struct Singer singers[MAX_SINGERS];
int singer_count = 0;

void inputSingerData() {
    if (singer_count >= MAX_SINGERS) {
        printf("选手数量已达上限\n");
        return;
    }
    struct Singer newSinger;
    printf("请输入选手编号: ");
    scanf("%d", &newSinger.id);
    printf("请输入选手姓名: ");
    scanf("%s", newSinger.name);
    printf("请输入十个评委的成绩:\n");
    float max_score = 0, min_score = 10, sum = 0;
    for (int i = 0; i < JUDGES; i++) {
        scanf("%f", &newSinger.scores[i]);
        if (newSinger.scores[i] > max_score) {
            max_score = newSinger.scores[i];
        }
        if (newSinger.scores[i] < min_score) {
            min_score = newSinger.scores[i];
        }
        sum += newSinger.scores[i];
    }
    newSinger.total_score = sum - max_score - min_score;
    newSinger.average_score = newSinger.total_score / 8;
    singers[singer_count++] = newSinger;
}

void displayMainMenu() {
    printf("\n主菜单:\n");
    printf("1) 输入选手数据\n");
    printf("2) 评委打分\n");
    printf("3) 成绩排序(按平均分)\n");
    printf("4) 数据查询\n");
    printf("5) 追加/修改歌手数据\n");
    printf("6) 写入数据文件\n");
    printf("7) 退出系统\n");
}

int main() {
    int choice;
    do {
        displayMainMenu();
        printf("请选择操作(1-7): ");
        scanf("%d", &choice);
        switch (choice) {
            case 1:
                inputSingerData();
                break;
            // 其他操作...
            case 7:
                printf("感谢使用,再见!\n");
                break;
            default:
                printf("无效选择\n");
        }
    } while (choice != 7);

    return 0;
}

这个程序定义了一个Singer结构体来存储每个选手的数据,包括编号、姓名、评委成绩等信息。然后提供了输入选手数据的功能,并且在输入评委成绩时计算了总成绩和平均成绩(去掉最高分和最低分)。同时还提供了主菜单和基本的程序框架。

运行截图

图片[1]-基于C语言开发一个歌手比赛系统-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞12赞赏 分享