歌手比赛系统c语言程序注释,C语言程序课程设计—歌手比赛系统(20页)-原创力文档...
时间: 2023-06-20 19:09:09 浏览: 137
C语言程序课程设计—歌手比赛系统
4星 · 用户满意度95%
/*
* 程序名称:歌手比赛系统
* 程序作者:XXX
* 编写时间:20XX年XX月XX日
* 版权声明:本程序版权归作者所有,仅供学习交流使用,禁止商业化利用。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* 定义常量 */
#define MAX_SINGER 100 // 参赛歌手最大数量
#define MAX_NAME_LENGTH 20 // 歌手姓名最大长度
/* 定义结构体 */
struct Singer {
char name[MAX_NAME_LENGTH]; // 歌手姓名
int score; // 歌手得分
};
/* 函数声明 */
void menu(); // 显示菜单
void addSinger(struct Singer singers[], int *count); // 添加歌手
void showSingers(struct Singer singers[], int count); // 显示所有歌手信息
void vote(struct Singer singers[], int count); // 投票
void sortSingers(struct Singer singers[], int count); // 根据得分排序歌手
/* 主函数 */
int main() {
struct Singer singers[MAX_SINGER]; // 参赛歌手数组
int count = 0; // 参赛歌手数量
while (1) {
menu(); // 显示菜单
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
addSinger(singers, &count);
break;
case 2:
showSingers(singers, count);
break;
case 3:
vote(singers, count);
break;
case 4:
sortSingers(singers, count);
break;
case 5:
exit(0);
default:
printf("无效的选项,请重新输入\n");
break;
}
}
return 0;
}
/* 显示菜单 */
void menu() {
printf("**********欢迎来到歌手比赛系统**********\n");
printf("1.添加歌手\n");
printf("2.显示所有歌手信息\n");
printf("3.投票\n");
printf("4.根据得分排序歌手\n");
printf("5.退出系统\n");
printf("请输入选项:");
}
/* 添加歌手 */
void addSinger(struct Singer singers[], int *count) {
if (*count >= MAX_SINGER) {
printf("已达到最大参赛人数!\n");
return;
}
struct Singer newSinger;
printf("请输入歌手姓名:");
scanf("%s", newSinger.name);
newSinger.score = 0;
singers[*count] = newSinger;
*count += 1;
printf("添加成功!\n");
}
/* 显示所有歌手信息 */
void showSingers(struct Singer singers[], int count) {
printf("所有参赛歌手信息如下:\n");
for (int i = 0; i < count; i++) {
printf("姓名:%s,得分:%d\n", singers[i].name, singers[i].score);
}
}
/* 投票 */
void vote(struct Singer singers[], int count) {
printf("请输入您要投票的歌手姓名:");
char name[MAX_NAME_LENGTH];
scanf("%s", name);
for (int i = 0; i < count; i++) {
if (strcmp(singers[i].name, name) == 0) {
singers[i].score += 1;
printf("投票成功!\n");
return;
}
}
printf("未找到该歌手,请重新输入\n");
}
/* 根据得分排序歌手 */
void sortSingers(struct Singer singers[], int count) {
for (int i = 0; i < count - 1; i++) {
for (int j = 0; j < count - i - 1; j++) {
if (singers[j].score < singers[j + 1].score) {
struct Singer temp = singers[j];
singers[j] = singers[j + 1];
singers[j + 1] = temp;
}
}
}
printf("根据得分排序后的歌手信息如下:\n");
for (int i = 0; i < count; i++) {
printf("姓名:%s,得分:%d\n", singers[i].name, singers[i].score);
}
}
阅读全文