c语言输出汉字include文件名,输出名字乱码怎么回事?求大佬解答#include<stdio

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值