📄 sports.cpp
字号:
if((fp=fopen("项目信息.txt","w"))==NULL)
{
printf("项目信息.txt 文件打开失败!!");
exit(0);
}
n=sp.num;
fprintf(fp,"%d",sp.num);
fputc(10,fp);
for(int i=0;i<n;i++)
{
fprintf(fp,"%8d%20s%8d%8d",sp.sp[i].id,sp.sp[i].name,sp.sp[i].sex,sp.sp[i].prizeNum);
fputc(10,fp);
}
fputc(10,fp);
fputs(" 项目编号 运动项目名称 男/女 授奖名额",fp);
fclose(fp);
if((fp=fopen("学校信息.txt","w"))==NULL)
printf("学校信息.txt 文件打开失败!!");
n=sc.num;
fprintf(fp,"%d",n);
fputc(10,fp);
for(i=0;i<n;i++)
{
fprintf(fp,"%8d%20s%8d",sc.sc[i].id,sc.sc[i].name,sc.sc[i].sportNum);
for(int j=0;j<sc.sc[i].sportNum;j++)
fprintf(fp,"%8d",sc.sc[i].sport_id[j]);
for(j=0;j<sc.sc[i].sportNum;j++)
fprintf(fp,"%8d",sc.sc[i].sport_score[j]);
fprintf(fp,"%8d%8d%8d",sc.sc[i].manScore,sc.sc[i].womenScore,sc.sc[i].totalScore);
fputc(10,fp);
}
fputc(10,fp);
fputs(" 学校编号 参赛学校的名称 参赛项目数 项目1 项目2 项目3 得分1 得分2 得分3 男子总分 女子总分 总分",fp);
fclose(fp);
if((fp=fopen("获奖信息.txt","w"))==NULL)
printf("获奖信息.txt 文件打开失败!!");
fprintf(fp,"%d",sp.num);
fputc(10,fp);
for( i=0;i<sp.num;i++)
{
fprintf(fp,"%8d",pr.pr[i].sport_id);
for(int j=0;j<sp.sp[pr.pr[i].sport_id].prizeNum;j++)
{
fprintf(fp,"%8d%8d",pr.pr[i].school_id[j],pr.pr[i].score[j]);
}
fputc(10,fp);
}
fputc(10,fp);
fputs(" 项目 一等奖 得分 二等奖 得分 三等奖 得分",fp);
fclose(fp);
puts("\n文件已保存!\n\n");
return 0;
}
int sort(sports &sp,schools &sc,prizes &pr,int flag){
school tem;
if(flag==1)
{
for(int i=0;i<sc.num;i++)
for(int j=i+1;j<sc.num;j++)
if(sc.sc[i].totalScore<sc.sc[j].totalScore)
{
tem=sc.sc[i];
sc.sc[i]=sc.sc[j];
sc.sc[j]=tem;
}
scShow(sc,-1);
}
else
if(flag==2)
{
for(int i=0;i<sc.num;i++)
for(int j=i+1;j<sc.num;j++)
if(sc.sc[i].manScore<sc.sc[j].manScore)
{
tem=sc.sc[i];
sc.sc[i]=sc.sc[j];
sc.sc[j]=tem;
}
scShow(sc,-1);
}
else
if(flag==3)
{
for(int i=0;i<sc.num;i++)
for(int j=i+1;j<sc.num;j++)
if(sc.sc[i].womenScore<sc.sc[j].womenScore)
{
tem=sc.sc[i];
sc.sc[i]=sc.sc[j];
sc.sc[j]=tem;
}
scShow(sc,-1);
}
else
if(flag==0)
scShow(sc,-1);
else
exit(0);
return 0;
}
void spMeum(sports sp,int n){
printf("\n==============================================================\n");
printf("\n\t\t 〓〓〓 所有项目列表 〓〓〓\n");
printf("\n==============================================================\n\n");
for(int i=0;i<n;i++)
{
printf("\t\t\t%d------------%s\n\n",i,sp.sp[i].name);
}
printf("==============================================================\n\n");
}
void scMeum(schools sc,int n){
puts(" \t =====================================================");
printf("\t\t\t 〓〓〓 所有学校列表 〓〓〓\n");
puts(" \t =====================================================");
for(int i=0;i<n;i++)
{
printf("\n\t\t\t %d------------%s\n",i,sc.sc[i].name);
}
puts(" \t =====================================================");
}
void spShow(sports sp,int pos){
printf(" ※ 项目信息表 ※\n");
printf("--------------------------------------------------------------\n");
puts(" 项目编号 项目名称 授奖名额 项目类别");
printf("--------------------------------------------------------------\n");
if(pos<0)
{
for(int i=0;i<sp.num;i++)
{
printf("%10d%18s%15d ",sp.sp[i].id,sp.sp[i].name,sp.sp[i].prizeNum);
if(sp.sp[i].sex==0)
printf(" 男");
else
printf(" 女");
putchar(10);
}
printf("--------------------------------------------------------------\n");
}
else
{
printf("%10d%18s%15d ",sp.sp[pos].id,sp.sp[pos].name,sp.sp[pos].prizeNum);
if(sp.sp[pos].sex==0)
printf(" 男");
else
printf(" 女");
putchar(10);
printf("--------------------------------------------------------------\n");
}
}
void scShow(schools sc,int pos){
printf("\n ※ 学校信息表 ※\n");
printf("--------------------------------------------------------------\n");
puts("编号 学校名称 项目数‖ 所有项目 ‖ 项目得分 ‖总分(男/女)");
printf("--------------------------------------------------------------\n");
if(pos<0)
{
for(int i=0;i<sc.num;i++)
{
printf("%2d %10s%5d ‖",sc.sc[i].id,sc.sc[i].name,sc.sc[i].sportNum);
for(int j=0;j<sc.sc[i].sportNum;j++)
printf(" %2d ",sc.sc[i].sport_id[j]);
printf("‖");
for(j=0;j<sc.sc[i].sportNum;j++)
printf(" %2d ",sc.sc[i].sport_score[j]);
printf("‖");
printf("%2d (%2d/%-2d)",sc.sc[i].totalScore,sc.sc[i].manScore,sc.sc[i].womenScore);
putchar(10);
}
printf("--------------------------------------------------------------\n\n\n\n");
}
else
{
printf("%2d %10s%5d ‖",sc.sc[pos].id,sc.sc[pos].name,sc.sc[pos].sportNum);
for(int j=0;j<sc.sc[pos].sportNum;j++)
printf(" %2d ",sc.sc[pos].sport_id[j]);
printf("‖");
for(j=0;j<sc.sc[pos].sportNum;j++)
printf(" %2d ",sc.sc[pos].sport_score[j]);
printf("‖");
printf("%2d (%2d/%-2d)",sc.sc[pos].totalScore,sc.sc[pos].manScore,sc.sc[pos].womenScore);
putchar(10);
printf("--------------------------------------------------------------\n");
}
}
void scLocate(schools sc,int sp_id){//查找申报某一项目的学校
for(int i=0;i<sc.num;i++)
for(int j=0;j<sc.sc[i].sportNum;j++)
if(sp_id==sc.sc[i].sport_id[j])
{
printf("%-2d",sc.sc[i].id);
break;
}
else
continue;
}
int load(sports &sp,schools &sc,prizes &pr)
{
FILE *fp;
int n;
// char str[80];
if((fp=fopen("项目信息.txt","r"))==NULL)
{
printf("项目信息.txt 文件打开失败!!");
exit(0);
}
fscanf(fp,"%d",&n);
fgetc(fp);
sp.sp=(sport *)malloc(n*sizeof(sport));
if(!sp.sp)
exit(1);
sp.num=n;
for(int i=0;i<n;i++)
{
fscanf(fp,"%d%s%d%d",&sp.sp[i].id,sp.sp[i].name,&sp.sp[i].sex,&sp.sp[i].prizeNum);
fgetc(fp);
}
fclose(fp);
n=0;
if((fp=fopen("学校信息.txt","r"))==NULL)
printf("学校信息.txt 文件打开失败!!");
fscanf(fp,"%d",&n);
fgetc(fp);
sc.sc=(school *)malloc(n*sizeof(school));
if(!sc.sc) exit(1);
sc.num=n;
for(i=0;i<n;i++)
{
fscanf(fp,"%d%s%d",&sc.sc[i].id,sc.sc[i].name,&sc.sc[i].sportNum);
for(int j=0;j<sc.sc[i].sportNum;j++)
fscanf(fp,"%d",&sc.sc[i].sport_id[j]);
for(j=0;j<sc.sc[i].sportNum;j++)
fscanf(fp,"%d",&sc.sc[i].sport_score[j]);
fscanf(fp,"%d%d%d",&sc.sc[i].manScore,&sc.sc[i].womenScore,&sc.sc[i].totalScore);
fgetc(fp);
}
fclose(fp);
n=0;
if((fp=fopen("获奖信息.txt","r"))==NULL)
printf("获奖信息.txt 文件打开失败!!");
fscanf(fp,"%d",&n);
fgetc(fp);
pr.pr=(prize *)malloc(sp.num*sizeof(prize));
if(!pr.pr) exit(1);
for(i=0;i<n;i++)
{
fscanf(fp,"%d",&pr.pr[i].sport_id);
for(int j=0;j<sp.sp[pr.pr[i].sport_id].prizeNum;j++)
{
fscanf(fp,"%d%d",&pr.pr[i].school_id[j],&pr.pr[i].score[j]);
}
fgetc(fp);
}
fclose(fp);
return 0;
}
int Meum(){
int choice;
puts(" \n\t=========================================================\n");
puts(" 〓〓〓 运动会成绩统计 〓〓〓\n ");
puts(" ※ Copyright ☆ XieGang ※ \n ");
puts(" \t=========================================================\n");
printf(" \t\t\t0-------------关于系统信息\n\n");
printf(" \t\t\t1-------------更新获奖文件\n\n");
printf(" \t\t\t2-------------学校分数统计\n\n");
printf(" \t\t\t3-------------查询学校项目\n\n");
printf(" \t\t\t4-------------学校信息排序\n\n");
printf(" \t\t\t5-------------退出统计系统\n\n");
puts(" \t==========================================================\n");
printf("\t\t\t\t请选择: ");
scanf("%d",&choice);
fflush(stdin);
return choice;
}
void SystemInfo(){
FILE *fp;
if(!(fp=fopen("系统信息.txt","r")))
{
puts("说明文件丢失!");
return ;
}
puts("\n\n\n");
puts("--------------------------------------------------------------------------------");
puts(" 〓〓〓 系统信息 〓〓〓\n ");
puts("--------------------------------------------------------------------------------");
while(!feof(fp))
putchar(fgetc(fp));
puts("--------------------------------------------------------------------------------");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -