ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:18.42KB ,
资源ID:12764532      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12764532.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用C编写的运动会统计系统.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用C编写的运动会统计系统.docx

1、用C编写的运动会统计系统/*输入各项目的前三名或前五名*/#include#include#define N 5/*学校参加数*/#define M 5/*男子项目数*/#define W 5/*女子项目数*/ typedef struct char schoolno10;/*学校编号*/ char schoolname20;/*学校名称*/ int score; /*各学校所得的分数*/ school;typedef struct item /*定义项目结构体*/ school schN; char itemno10;/*项目编号*/ item; item itemsetM+W;/*初始化项

2、目数组*/ /*凡是输入以后都从文件中读入*/void init_itemset(item itemset) int i,j; for(i=0;iM+W;i+) printf(输入第%d个项目n,i+1); scanf(%s,itemseti.itemno); for(j=0;jN;j+) printf(输入学校编号和名称n); scanf(%s,itemseti.schj.schoolno); scanf(%s,itemseti.schj.schoolname); itemseti.schj.score=0; void createDataBase(item itemset)/*写文件*/

3、FILE *fp; int i,j; for(i=0;iM+W;i+) for(j=0;jN;j+) scanf(%s,itemseti.schj.schoolno); scanf(%s,itemseti.schj.schoolname); scanf(%d,&itemseti.schj.score); scanf(%s,itemseti.itemno); if(fp=fopen(wenjian5,wb)=NULL) printf(cannot open filen); return; for(i=0;iM+W;i+) if(fwrite(&itemseti,sizeof(struct ite

4、m),1,fp)!=1) printf(file write error); fclose(fp); void readDataBase()/*读文件*/ int i,j; FILE *fp; if(fp=fopen(wenjian5,rb)=NULL) printf(cannot open filen); return; /*for(i=0;iM+W;i+) if(fread(&itemseti,sizeof(struct item),1,fp)!=1) if(feof(fp)fclose(fp);return; printf(file read error); */ for(i=0;iM+

5、W;i+) fread(&itemseti,sizeof(struct item),1,fp); fclose(fp); for(i=0;iM+W;i+) for(j=0;jN;j+) printf(%s,%s,%dn,itemseti.schj.schoolno,itemseti.schj.schoolname,itemseti.schj.score); printf(,%sn,itemseti.itemno); getch(); /*用以查找与输入项目号,学校相应的信息,并修改相应学校在相应项目所得分等其他信息*/void search(item itemset,char itemno,c

6、har schoolno,char schoolname,int score) int i,j,k; for(i=0;iN;i+) if(strcmp(itemset0.schi.schoolno,schoolno)=0) /*先找到学校编号*/ break; for(j=0;jN) printf( 输入的学校编号出错n); if(iM+W) printf( 输入的项目编号出错n); void inputData(item itemset)/*用i决定输入的是前三名还是前五名*/ char schoolno10; char schoolname20; int score; int i,j; i

7、nt k; int n; int m=1; char itemno10; printf( 输入第%d组数据n,m); printf( 请输入项目号:); scanf(%s,itemno); while(strcmp(itemno,-1)/*以项目号为-1作为输入的结束标志*/ printf( 请输入3或5代表输入前三名或前五名:); scanf(%d,&k); if(k=3)/*如果i等于0,就代表输入的是前三名*/ printf( 第一名加5分n); printf( 第二名加3分n); printf( 第三名加2分n); printf( 请输入学校编号:); scanf(%s,schooln

8、o); printf( 请输入学校名称:); scanf(%s,schoolname); printf( 请输入所得分数:); scanf(%d,&score); if(score=5)|(score=3)|(score=2) m+; search(itemset,itemno,schoolno,schoolname,score); else printf( 输入的分数有误n); if(k=5)/*如果i等于5,就代表输入的是前五名*/ printf( 第一名加7分n); printf( 第二名加5分n); printf( 第三名加3分n); printf( 第四名加2分n); printf(

9、 第五名加1分n); printf( 请输入学校编号:); scanf(%s,schoolno); printf( 请输入学校名称:); scanf(%s,schoolname); printf( 请输入所得分数:); scanf(%d,&score); if(score=7)|(score=5)|(score=3)|(score=2)|(score=1) m+; search(itemset,itemno,schoolno,schoolname,score); else printf( 输入的分数有误n); printf( 请输入项目号:); scanf(%s,itemno); if(str

10、cmp(itemno,-1) system(cls); printf(n); printf( =n); printf( *欢迎进入数据输入系统*n); printf( =n); printf(nn); printf( 输入第%d组数据n,m); printf( 项目号%s:n,itemno); printf(nn); /*求各学校的总分,记住要把结果写到文件中去*/void schoolSumScore(item itemset,int schScoreN)/*schScoreN要在主函数里初始化*/ int i,j; for(i=0;iN;i+) for(j=0;jM+W;j+) schSc

11、orei+=itemsetj.schi.score; printf( 学校编号=学校名称=所得总分n); for(i=0;iN;i+) printf( %s %s %dn,itemseti.schi.schoolno,itemseti.schi.schoolname,schScorei); /*实现排序的函数*/void paiXu(int a,item item)int i,j,t;/ item itemM+W; school temp; /for(i=0;iM+W;i+) /itemi=itemseti; for(j=0;jN;j+) /*冒泡排序*/ for(i=0;iN-j;i+) i

12、f(aiai+1) t=ai; temp=item0.schi; ai=ai+1; item0.schi=item0.schi+1; ai+1=t; item0.schi+1=temp; printf( 学校编号=学校名称=所得分n); for(i=0;iN;i+)/*输出排序后的结果,并带有学校编号和学校名称*/ printf( %s %s %d,item0.schi.schoolno,item0.schi.schoolname,ai); printf(n); /*计算男团体总分,并排序*/void maleSumScore(item itemset) int i,j; int maleSc

13、oreN; item maleItemM; for(i=0;iM;i+) maleItemi=itemseti; for(i=0;iN;i+) maleScorei=0; for(i=0;iN;i+) for(j=0;jM;j+) maleScorei+=maleItemj.schi.score; /printf(%d ,maleScorei); paiXu(maleScore,maleItem);/*调用排序函数*/ /*计算女团体总分,并排序*/ void femaleSumScore(item itemset) int i,j; item femaleItemW; int femaleS

14、coreN; for(i=M;iM+W;i+) femaleItemi-M=itemseti; for(i=0;iN;i+) femaleScorei=0; for(i=0;iN;i+) for(j=M;jM+W;j+) femaleScorei+=femaleItemj-M.schi.score; / printf(%d ,femaleScorei); paiXu(femaleScore,femaleItem);/*调用排序函数*/ /*按学校编号查询学校某个项目的情况*/void searchItemSchool(item itemset,char schoolno,char itemno

15、) int i,j,k; for(i=0;iN;i+) if(strcmp(itemset0.schi.schoolno,schoolno)=0) /*先找到学校编号*/ break; for(j=0;jM+W;j+) if(strcmp(itemsetj.itemno,itemno)=0) break; printf( 项目编号 学校编号 学校名称 分数n); printf( %s %s %s %dn,itemsetj.itemno,itemsetj.schi.schoolno,itemsetj.schi.schoolname,itemsetj.schi.score);/*从文件中读出第i个

16、学校,第j个项目的总分情况,男女团体总分情况*/ /*按项目查询该项目的前五名或前三名*/void topSchoolByItem(item itemset,char itemno,int q)/*用i来确定是输出前五名还是前三名*/ int i,j,k,n; item itemM+W; school schTemp; for(i=0;iM+W;i+) itemi=itemseti; for(i=0;iM+W;i+) if(strcmp(itemseti.itemno,itemno)=0) break; for(j=0;jN;j+) for(k=0;kN-j;k+) if(itemi.schk

17、.scoreitemi.schk+1.score) schTemp=itemi.schi; itemi.schi=itemi.schi+1; itemi.schi+1=schTemp; printf( 项目编号 名次 学校编号 学校名称 分数n); if(q=3)/*用q=3表示输出前三名*/ for(n=0;n3;n+) printf( %s %d %s %s %d,itemi.itemno,n+1,itemi.schn.schoolno,itemi.sch n.schoolname,itemi.schn.score); printf(n); if(q=5)/*用q=5表示输出前五名*/ f

18、or(n=0;n5;n+) printf( %s %d %s %s %d,itemi.itemno,n+1,itemi.schn.schoolno,itemi.schn.schoolname,itemi.schn.score); printf(n); void welcomeJieMian() system(cls); printf(nnnn); printf( =n); printf( *欢迎进入运动会统计系统*n); printf( =n); printf(nn); printf( 1 输入数据 n); printf( 2 排序 n); printf( 3 查询 n); printf( -

19、1 退出运动会统计系统 n); printf( 请选择您所需要的功能: ); printf(nnn); printf( =n); printf( *欢迎进入运动会统计系统*n); printf( =n); void paixuJieMian() system(cls); printf(n); printf( =n); printf( *欢迎进入排序系统*n); printf( =n); printf(nn); printf( 1 得到按各学校总分排序的结果 n); printf( 2 得到按各学校男团体总分排序的结果 n); printf( 3 得到按各学校女团体总分排序的结果 n); pri

20、ntf( -1 退出排序系统 n); printf( 请选择您所需要的功能: ); printf(nnn); printf( =n); printf( *欢迎进入排序系统*n); printf( =n);void chaXunJieMian() system(cls); printf(nnnn); printf( =n); printf( *欢迎进入查询系统*n); printf( =n); printf(nn); printf( 1 按学校编号查询学校某个项目的情况 n); printf( 2 按项目查询该项目的前五名或前三名 n); printf( -1 退出查询系统 n); printf

21、( 请选择您所需要的功能: ); printf(nnn); printf( =n); printf( *欢迎进入查询系统*n); printf( =n);void xuanZeJieMian() printf(nnnn); printf( =n); printf( *欢迎进入运动会统计系统*n); printf( =n); printf(nnn); printf( 1 管理员 n); printf( 2 非管理员 n); printf( -1 退出查询系统 n); printf( 请选择: n); printf(nnn); printf( =n); printf( *欢迎进入运动会统计系统*n

22、); printf( =n);void main() int choice,choice1,choice2,choice3;/选择界面 int q; int i; long key;/密码 int exitno;/控制界面跳转 char schoolno10; char itemno10; int schScoreN; / item itemsetM+W; /init_itemset(itemset); / createDataBase(itemset); readDataBase(); for(i=0;iN;i+) schScorei=0; welcomeJieMian();/进入主菜单界面

23、 scanf(%d,&choice);/ xuanZeJieMian(); /scanf(%d,choice3);/*while(choice3!=-1) if(choice3!=1&choice3!=2) system(cls); xuanZeJieMian(); printf( 功能选择错误n); printf( 请选择您所需要的功能:); scanf(%d,&choice3); switch(choice3)case 1:*/welcomeJieMian();/进入主菜单界面 scanf(%d,&choice); while(choice!=-1)/实现界面跳转 if(choice!=1&choice!=2&choice!=3) system(cls); welcomeJieMian(); printf( 功能选择错误n); printf( 请选择您所需要的功能:);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1