运动会计分系统_第1页
已阅读1页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

运动会计分系统

#include<stdio.h>#include<math.h>

Sinclude<conio.h>#include<process.h>#definen1〃参赛学校个数(可

根据情况更改)Sdcfincm1〃男子项目数

/definew1〃女子项口数

typedefstruct

(

inttop;〃取名次数目

intrange[5];〃排名

intmark[5];〃积分

intitemnum;〃项目编号

}itemnode;〃定义项目结点

typedefstruct

{

intschoolnum;//学校编号

intscore;//学校总分

intmscore;//男子团体总分

intwscore;//女子团体总分

itemnodec[m+w];〃项目数组

}headnode;〃定义头结点

hoadnodch[n];//定义头结点数组

voidinputinformation。;〃录入信息函数

voidoutputinformation();〃显示信息函数voidchaxunO;//查询函数

voidwritefileO;〃写文件

voidreadfileO;〃读取文件

〃〃〃〃〃〃/录入信息〃〃〃〃〃〃/voidinputinformationO{

inti,j,k,s;

for(i=0;i<n;i++)

(

h[i].schoolnum”

h[i].score”

h[i].mscore=0;

h[i].wscore=0;

)

for(i=0;i<n;i++)

{

printf(〃\n学校编号:〃);

scanf("刎",&h[i].schoolnum);

for(j=0;j<m+w;j++)

{

printf(〃\n项目编号:”);

scanf(飞d〃,&h[i].c[j].itemnum);

printf(z,\n取前3或前5名:〃);

scanf(〃%d",&h[i].c[j].top);

while(h[i].c[j].top!=3&&h[i].c[j].top!=5)

{printf(〃\n输入错误,请重新输入〜:〃);

scanf(%d〃,&h[i].c[j].top);break;}

printfC\n获得几个名次:〃);

scanf("%d",&k);

for(s=0;s<5;s++)

h[i].c[j].range[s]=0;

for(s=0;s<k;s++)

(

printf(〃\n名次:〃);

scanf("刎",&h[i].c[j].range[s]);

if(h[i].c[j].top==3)

switch(h[i].c[j].range[s])

(

case0:h[i].c[j].mark[s]=0;

break;

casel:h[i].c[j].nark[s]=5;

break;

case2:h[i].c[j].nark[s]=3;

break;

case3:h[i].c[j].nark[s]=2;

break;

)

else

switch(h[i].c[j].range[s])

case0:h[i].c[j].mark[s]=0;

intchoice,i,j,k;

intremenber[n];

intsign;

do

printf(〃\n******L按学校编号输出******\n〃);

printf(〃******2.按学校总分输出******\n〃);

printf("******3.按男团总分输出******\n");

printf(〃******4.按女团总分输出******\n〃);

printf(〃********请根据提示进行操作!:〃);

scanf&choicc);

printf("\n〃);

switch(choice)

case1:for(i=0;i<n;i++)

{〃按学校编号输出

printf(z,\n学校编号:%d\n",h[i].schoolnum):

printf("学校总分:%d\n〃,h[i].score);

printf(〃男团总分:8d\n",h[i].mscore);

printf(〃女团总分:%d\n",h[i].wscore);

printf("\n");

break;

case2:for(i=0;i<n;i++)

remenber[i]=i;

for(i=0;i<n;i++)

for(j=0;j<n;j++)

if(h[remenber[i]].score<h[j].score)〃按学校总分输出

{

k二remenber[i];

remenber[i]=remenber[j];

remenber[j]=k;

)

)

for(i=0;i<n;i++)

{

printf(,z\n学校编号:%d\n〃,h[remenber[i]].schoolnum);

printf("学校总分:%d\n〃,h[remenber[i]].score);

printf(〃男团总分:9d\n”,h[remenber[i]].mscore);

printf("女团总分:%d\n”,h[remenber[i]].wscore);

printfCW);

)

break;

case3:for(i=0;i<n;i++)

remenber[i]=i;

for(i=0;i<n;i++)

for(j=0;j<n;j++)

if(h[remenber[i]].mscore<h[j].mscore)//按男团总分输出

{

k=remenber[i];

remenber[i]=remenber[j];

remenber[j]=k;

}

)

for(i=0;i<n;i++)

(

printf(,z\n学校编号:%d\n〃,h[remenber[i]].schoolnum);

printf(〃学校总分:%d\n",h[remenber[i]].score);

printf(〃男团总分:%d\n”,h[remenber[i]].mscore);

printf(“女团总分:%d\n”,h[remenber[i]].wscore);

printf(〃\n〃);

)

break;

case4:for(i=0;i<n;i++)

remenber[i]=i;

for(i=0;i<n;i++)

{

for(j=0;j<n;j++)

if(h[remenber[i]].wscore<h[j].wscore)//按女团总分输出

k=remenber[i];

remenber[i]=remenber[j];

remenber[j]=k;

}

}

for(i=0;i<n;i++)

{

printf(,z\n学校编号:%d\n”,h[remenber[i]].schoolnum);

printf(〃学校总分:%d\n",h[remenber[i]].score);

printf("男团总分:%d\n",h[remenber[i]].mscore);

printf("女团总分:%d\n〃,h[remenber[i]].wscore);

printf("\n〃);

)

break;

}

printf(〃是否继续操作(1/0)?:〃);

scanf&sign);

printfCV);

}while(sign==l);//循环执行输出语句)

〃〃〃〃〃〃〃〃/〃〃查询信息〃〃〃〃〃〃〃〃〃〃〃voidchaxun()

{

intchoice;

inti,j,k,s;

printf("\n*****l:按学校编号查询\n〃);

printf(〃\n*****2:按项目编号查询\n");

printf("\n*****请选择查询方式:〃);

scanf(〃机T,&choice);

switch(choice)

case1:

do

{

printf(〃要查询的学校编号:〃);

scanf&i);

if(i>n)

printf(〃错误:这个学校没有参加此次运动会八n〃);

else

printf(〃要查询的项目编号:〃);

scanf&j);

if(j>m+w||j==0)

printf(〃此次运动会没有这个项目\n〃);

else

printf("这个项目取前%d名,该学校的成绩如下:\n",h[0].c[j-l].top);

for(k=0;k<5;k++)

if(h[i-l].c[j-l].range[k]!=0)

printf(“名次:%d\n",h[i-l].c[j-l].range[k]);

)

printf(〃是否继续操作(1/0)?:");

scanf(〃凫d”,&s);

printf(〃\n〃);

}whilc(s=l);〃循环执行输出语句

break;

case2:

do

(

printf(〃要查询的项目编号:〃);

scanf&s);

if(s>m+w||s==0)

printf(〃此次运动会不包括这个项目\n〃);

else

{

printf("该项目取前%d名,取得名次的学校\n",h[0].c[s-l].top);

for(i=0;i<n;i++)

for(j=0;j<5;j++)

if(h[i].c[s-l].range[j]!=0)

printf("学校编号:%d,名次:%d\n",h[i].schoolnum,h[i].c[s-l].range[j]);

)

printf("是否继续操作(1/0)?:");

scanf(〃%d”,&i);

printf(〃\n〃);

}while(i=l);

break;

}

}

〃〃〃〃〃〃〃〃/〃/写文件〃〃〃〃〃/〃〃〃〃

voidwritefile()

{

inti;

FILE*fp;

if((fp=fopen(^sportsdata.txt〃,〃w〃))二二NULL)

{

printf(〃不能打开文件\n〃);

exit(1);

}

for(i=0;i<n;i++)

fwrite(&h[i],sizeof(headnode),1,fp);

fclose(fp);

)

〃〃〃〃〃〃〃〃/〃〃读取文件〃〃〃〃〃〃〃〃〃/

voidrcadfileO〃读出文件中数据的函数

FILE*fp;

inti,j,s;

if((fp=fopen(^sportsdata.txt","r〃))==NULL)

{

printf("文件不存在,不能打开文件不n");

exit(1);

)

for(i=0;i<n;i++)

{

fread(&h[i].schoolnum,sizeof(int),1,fp);

fread(&h[i].score,sizeof(int),1,fp);

fread(&h[i].mscore,sizeof(int),1,fp);

fread(&h[i].wscore,sizeof(int),1,fp);

for(j=0;j<m+w;j++)

{

fread(&h[i].c[j].itemnum,sizeof(int),1,fp);

freadc[j].top,sizeof(int),1,fp);

for(s=0;s<5;s++)

(

fread(&h[i].c[j].range[s],sizeof(int),1,fp);

)

for(s=0;s<5;s++)

fread(&h[i].c[j].niark[s],sizeof(int),1,fp);

}

fclose(fp);〃关闭文件

)〃按照读一个数据就输出一个数据的方式显示数据内容

//////////////////////////////i函数〃〃〃〃〃〃〃〃/

intmain()

{FILE*fp;

intchoice;

intflagl=l,flag2=l;

system(〃cls〃);

do

system("color2f〃);

sleep(200);

printf(〃\n***********************\1\1欢迎使用程序

\1\i****************x*******\n")

sleep(200);

printf("\ri******************\l\l校级运动会分数统计系统

\l\l****************x**\n");

printf(z,\n\n***L录入信息******\n〃);

sleep(200);

printfC\n\n***2,显示信息*****仙n");

sleep(200);

printfC\n\n***3.查询信息******\n〃);

sleep(200);

printfC\n\n***4.退出程序******\n");

sleep(200);

*******\n〃);

printfC\n\n请根据提示选择操作~;

s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论