该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
int main()
{
printf("***************************歌手比赛管理系统************************************\n");
printf(" G***************************************************************************G \n");
printf("***********************************G*******************************************\n");
printf(" 1.输入选手数据 2. 评委打分 3.计算平均分 \n 4.成绩排序5.写入数据文件 6.打开文件\n 7.退出系统\n");
printf("*******************************************************************************\n");
for(;;)
{
printf("请输入操作名\n");
int n,i=1,j,t;
char a;
FILE *fp;
struct singer
{
int mingci;
char name[20];
}
player[100];
scanf("%c",&a);
switch(a)
{
case '1':
printf("请输入选手的个数(少于100)");
scanf("%d",&n);
int sum[100],max[100],min[100];
float c[100];
for(i=1;i<=n;i++)
{
sum[i]=0;
}
printf("请输入选手的姓名\n ");
for(i=1;i<=n;i++)
{
scanf(" %s",player[i].name);
}
break;
case '2':
struct assess
{
int num1;
int num2;
int num3;
int num4;
int num5;
int num6;
int num7;
int num8;
int num9;
int num10;
}
ass[100];
for(j=1;j<=n;j++)
{
printf("\n请输入评委1对歌手%d的打分",j);
scanf("%d",&ass[j].num1);
printf("请输入评委2对歌手%d的打分",j);
scanf("%d",&ass[j].num2);
printf("请输入评委3对歌手%d的打分",j);
scanf("%d",&ass[j].num3);
printf("请输入评委4对歌手%d的打分",j);
scanf("%d",&ass[j].num4);
printf("请输入评委5对歌手%d的打分",j);
scanf("%d",&ass[j].num5);
printf("请输入评委6对歌手%d的打分",j);
scanf("%d",&ass[j].num6);
printf("请输入评委7对歌手%d的打分",j);
scanf("%d",&ass[j].num7);
printf("请输入评委8对歌手%d的打分",j);
scanf("%d",&ass[j].num8);
printf("请输入评委9对歌手%d的打分",j);
scanf("%d",&ass[j].num9);
printf("请输入评委10对歌手%d的打分",j);
scanf("%d",&ass[j].num10);
sum[j]=sum[j]+ass[j].num1+ass[j].num2+ass[j].num3+ass[j].num4+ass[j].num5;
sum[j]=sum[j]+ass[j].num6+ass[j].num7+ass[j].num8+ass[j].num9+ass[j].num10;
}
printf("\n\n\n");
break;
case '3':
for(j=1;j<=n;j++)
{
c[j]=(sum[j]/10);
printf("第%d个选手的平均的分是%3.2f\n",j,c[j]);
}
printf("\n\n\n");
break;
case '4':
for(i=1;i<=n;i++)
{
for(j=1,t=1;j<=n;j++)
{
if(c[i]
t=t+1;
}
player[i].mingci=t;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i==player[j].mingci)
printf("%s是第%d 得分为%3.2f\n",player[j].name,i,c[j]);
}
printf("\n\n\n");
}
break;
case '5':
if((fp=fopen("C:\\singer.dat","wb"))==NULL)
{
printf("不能打开文件\n");
}
for(i=1;i<=n;i++)
fwrite(&player[i],sizeof(struct singer),1,fp);
fclose(fp);
printf(" 保存成功\n\n\n");
break;
case '6':printf("请输入选手的个数");
printf("(为了准确显示,您输入的人数不应该超过已保存信息的人数)");
scanf("%d",&n);
if((fp=fopen("C:\\singer.dat","rb"))==NULL)
{
printf("不能打开文件\n");
}
for(i=1;i<=n;i++)
{
fread(&player[i],sizeof(struct singer),1,fp);
printf(" %s的名次为%10d \n",player[i].name,player[i].mingci);
}
fclose(fp);
break;
case '7':exit(0);
}
}
return 0;
}