歌手比赛系统 c语言 代码出错了 发邮箱到[email protected]就谢谢了,一定要在VC++上运行

Python013

歌手比赛系统 c语言 代码出错了 发邮箱到cyylogo@163.com就谢谢了,一定要在VC++上运行,第1张

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <string.h>

#define N 3

#define M 10

int add = N - 1

int sum[N] = {0},Max[N],Min[N]

float aver[N] = {0}

struct player {

int num

char name[12]

int score[M]

}

void Inistplayer(struct player a[],int n) {

int i

for(i = 0i <ni++) {

printf("(%d/%d)签号 姓名 : ",i + 1,n)

scanf("%d %s",&a[i].num,a[i].name)

}

}

void Inputscore(int score[],int n) {

int i

for(i = 0i <ni++)

score[i] = 1 + (int)10*rand()/(RAND_MAX + 1)

}

void sort(struct player a[],float b[],int n) {

int i,k,j,t

float temp

char str[12]

for(i = 0i <n - 1i++) {

k = i

for(j = i + 1j <nj++)

if(b[k] >b[j]) k = j

if(k != i) {

temp = b[i]

b[i] = b[k]

b[k] = temp

strcpy(str,a[i].name)

strcpy(a[i].name,a[k].name)

strcpy(a[k].name,str)

t = a[i].num

a[i].num = a[k].num

a[k].num = t

}

}

}

void main() {

int flag = 1,n,i,m,j

FILE *fp

fp = fopen("data.txt","w+")

struct player a[20]

printf("\t\t1、输入选手数据\n")

printf("\t\t2、评委打分\n")

printf("\t\t3、成绩排序*\n")

printf("\t\t4、数据查询\n")

printf("\t\t5、追加学生数据\n")

printf("\t\t6、写入数据文件\n")

printf("\t\t7、退出系统\n")

while(flag) {

printf("你想进行的操作:")

scanf("%d",&n)

switch(n) {

case 1:Inistplayer(a,N)break

case 2:srand((unsigned)time(NULL))

for(i = 0i <Ni++) {

printf("%d位选手的成绩:",i + 1)

Inputscore(a[i].score,M)

for(j = 0j <Mj++) printf("%d ",a[i].score[j])

printf("\n")

}

break

case 3:for(i = 0i <Ni++) {

Max[i] = a[i].score[0]

Min[i] = a[i].score[0]

for(j = 0j <Mj++) {

sum[i] += a[i].score[j]

if(Max[i] <a[i].score[j])

Max[i] = a[i].score[j]

if(Min[i] >a[i].score[j])

Min[i] = a[i].score[j]

}

aver[i] = (float)(sum[i] - Max[i] - Min[i])/(M - 2)

}

sort(a,aver,N)

for(i = 0i <Ni++)

printf("%s %5.2f\n",a[i].name,aver[i])

break

case 4:printf("你想查询选手的数据:")

scanf("%d",&m)

for(i = 0i <Ni++) {

if(a[i].num == m) {

printf("%d号选手%s总分:%d,最高分%d,最低分%d,平均分%5.2f",a[i].num,a[i].name,sum[i],Max[i],Min[i],aver[i])

printf("\n")

}

}

break

case 5:printf("请输入要追加的选手数据:\n")

add += 1

scanf("%d %s",&a[add].num,&a[add].name)

break

case 6:printf("将数据写入文件中:\n")

for (i = 0 i <add + 1 i++) {

fprintf(fp,"%d ",a[i].num)

fprintf(fp,"%s ",a[i].name)

fprintf(fp,"%d\n",a[i].score)

}

break

case 7:exit(0)

break

default:flag = 0

}

}

}

1. 系统功能要求

歌咏比赛管理系统是跟随比赛的进程,管理每一位歌手的基本信息和成绩统计,并给管理人员提供相应的管理功能,同时保存整个比赛过程所产生的所有数据信息。

根据设计任务书的要求,本系统至少要具备以下功能:

⑴、录入数据:输入每一位歌手的记录,并计算出最终成绩,将其信息写入文件中。

⑵、信息浏览:能显示每位歌手的记录。

⑶、名次统计:按名次进行排序,并写入文件中。

2. 系统数据要求

为了实现上述功能,本系统要有以下数据:

⑴、歌手的人数;

⑵、评委的人数;

⑶、每位歌手的个人基本信息。根据设计任务书的要求,歌手的个人信息应包括:歌手的编号、姓名、性别。

⑷、每位评委给歌手的评分数据;

⑸、系统应产生的数据有:

①、统计出评委给每位歌手打出的最高分、最低分;

②、求出每位歌手的最后得分;

③、通过排序,统计出歌手的名次。

提问者: jfw3209821999