1.1运动会分数统计

更新时间:2023-10-04 00:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

#include #include #include

#define N 20 /*学校最大数目*/ #define M 20 /*男子项目最大数目*/ #define W 20 /*女子项目最大数目*/ typedef struct { int inum; /*项目编号*/

int top; /*取名次的数目*/ int range[5]; /*名次*/ int mark[5]; /*分数*/

}itemnode; /*存放项目信息*/ typedef struct { int snum; /*学校编号*/

int score; /*学校总分*/ int mscore; /*男团体总分*/ int wscore; /*女团体总分*/ itemnode t[M+W]; /*项目数组*/ }snode; /*存放学校信息*/ snode a[N]; /* 定义一个学校数组*/

void menu(int n,int m,int w) /*菜单函数*/ { int c;

void input(int n,int m,int w); void output(int n,int m,int w); void sortput(int n,int m,int w); void search(int n,int m,int w); printf(\欢迎使用\\t\\t\\t\\t\\n\\n\ printf(\运动会分数统计系统***********\\n\\n\ printf(\信息输入*******\\n\ printf(\统计输出*******\\n\ printf(\排序输出*******\\n\ printf(\信息查询*******\\n\ printf(\退出系统*******\\n\\n\

printf(\ printf(\请选择要实现步骤的编号(0--4):\ scanf(\ switch(c) { case 1: input(n,m,w);break; case 2: output(n,m,w);break; case 3: sortput(n,m,w);break; case 4: search(n,m,w);break; case 0: printf(\谢谢使用,再见!\\n\ exit(0); default: printf(\输入错误,请重试!\\n\ menu(n,m,w); } }

void savetofile() /*信息存入文件file*/ {

FILE *fp; int i;

if((fp=fopen(\ { printf(\ return; }

for(i=0;i

fclose(fp); }

void readfromfile() /*信息从文件file中取出*/ {

int i; FILE *fp;

if((fp=fopen(\ { printf(\ return; }

for(i=0;i

void input(int n,int m,int w) /*1.信息输入*/ { int i,j,s,k,q=0; for(i=0;i

scanf(\输入学校信息*/ for(j=0;j

scanf(\ printf(\项目取前3名或前5名(3或者5):\ scanf(\ if(a[i].t[j].top==3) printf(\获得名次个数(1--3):\ else printf(\获得名次个数(1--5):\ scanf(\输入项目信息*/ for(s=0;s

scanf(\输入所获名次信息*/ } printf(\

- 1 -

} }

for(i=0;i

case 0: a[i].t[j].mark[s]=0; break; case 1: a[i].t[j].mark[s]=5; break; case 2: a[i].t[j].mark[s]=3; break; case 3: a[i].t[j].mark[s]=2; break; } else if(a[i].t[j].top==5) switch(a[i].t[j].range[s]) {

case 0: a[i].t[j].mark[s]=0; break; case 1: a[i].t[j].mark[s]=7; break; case 2: a[i].t[j].mark[s]=5; break; case 3: a[i].t[j].mark[s]=3; break; case 4: a[i].t[j].mark[s]=2; break; case 5: a[i].t[j].mark[s]=1; break; } else { printf(\信息有误!\ printf(\ exit(0); } a[i].score=a[i].score+a[i].t[j].mark[s]; /*记学校总分*/ if(j<=m-1) a[i].mscore=a[i].mscore+a[i].t[j].mark[s]; /*记男子团体总分*/ else a[i].wscore=a[i].wscore+a[i].t[j].mark[s]; /*记女子团体总分*/ } printf(\输入完毕!返回? 1是 2否\\n\返回菜单*/ scanf(\ printf(\ if(q!=1) printf(\不能再添加信息!\ printf(\ savetofile(); /*将信息存入文件file*/ menu(n,m,w); }

void output(int n,int m,int w) /*2.统计输出*/ {

readfromfile(); int i,j,s,q=0;

for(i=0;i

- 2 -

for(j=0;j

if(a[i].t[j].range[s]!=0) printf(\名次:%d 分数:%d\\n\ } } printf(\ } printf(\ printf(\统计完毕!返回? 1是 2否\返回菜单*/ scanf(\ printf(\ if(q!=1) printf(\统计已经结束!\ printf(\ menu(n,m,w); }

void sortput(int n,int m,int w) /*3.排序输出*/ { readfromfile(); int c,i,j,k,q=0; int temp[N];

printf(\排序输出系统**************\\n\\n\ printf(\按学校编号输出****\\n\ printf(\按学校总分输出****\\n\ printf(\按男团总分输出****\\n\ printf(\按女团总分输出****\\n\

printf(\ do {

printf(\请选择要实现功能的编号(1--4):\ scanf(\ switch(c) { case 1: for(i=0;ia[j].snum) { k=temp[i]; temp[i]=temp[j]; temp[j]=k; }

} /* 用冒泡排序方法排序*/ for(i=0;i

分:%d\\n\ } /*按学校编号输出*/ break; case 2: for(i=0;i

- 3 -

for(i=0;i分:%d\\n\ } /*按学校总分输出*/ break; case 3: for(i=0;i分:%d\\n\ } /*按男团总分输出*/ break; case 4: for(i=0;i分:%d\\n\ } /*按女团总分输出*/ break; default: printf(\输入错误,请重试!\\n\ } printf(\请选择 1 返回主菜单 0继续\返回菜单或继续排序*/ scanf(\

- 4 -

printf(\ } while(q==0); printf(\ if(q!=0) menu(n,m,w); }

void search(int n,int m,int w) /*查询函数*/ { readfromfile(); int c,i,j,k,d,l,q=0;

printf(\查询系统****************\\n\\n\ printf(\按学校编号查询****\\n\ printf(\按项目编号查询****\\n\

printf(\ do {

k=-1;d=-1;l=-1; printf(\请选择要实现功能的编号(1--2):\ scanf(\ switch(c) { case 1:

printf(\要查询的学校编号:\查找学校编号下标*/ scanf(\ for(i=0;i

break; case 2: printf(\要查询的项目编号:\查找项目编号下标*/ scanf(\ for(i=0;i

- 5 -

if(l==-1) printf(\此次运动会没有这个项目\\n\ else /*显示结果*/ { printf(\该项目取前 %d名,取得名次的学校\\n\ for(i=0; i

void main() /*主函数*/ {

int n,m,w;

printf(\欢迎使用\\t\\t\\t\\t\\n\\n\ printf(\运动会分数统计系统***********\\n\\n\ printf(\请先输入运动会主要信息\\n\设计运动会主要数据个数*/ printf(\输入学校个数:\ scanf(\ printf(\输入男子项目个数:\ scanf(\ printf(\输入女子项目个数:\ scanf(\ menu(n,m,w); }

- 6 -

本文来源:https://www.bwwdw.com/article/kqbd.html

Top