版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include#include#include #define N 20 /*学校最大数目*/ #define M 20 /*男子工程最大数目*/ #define W 20 /*女子工程最大数目*/typedef struct int inum; /*工程编号*/ int top; /*取名次的数目*/ int range5; /*名次*/ int mark5; /*分数*/itemnode; /*存放工程信息*/typedef struct int snum; /*学校编号*/ int score; /*学校总分*/ int mscore; /*男团体总分*/ int wscore; /*
2、女团体总分*/ itemnode tM+W; /*工程数组*/snode; /*存放学校信息*/snode aN; /* 定义一个学校数组*/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(ttt欢送使用ttttnn); printf(t*运动会分数统计系统*nn); printf(tt*1.信
3、息输入*n); printf(tt*2.统计输出*n); printf(tt*3.排序输出*n); printf(tt*4.信息查询*n); printf(tt*0.退出系统*nn); printf(=nn);printf(请选择要实现步骤的编号(0-4):); scanf(%d,&c);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); exi
4、t(0); default: printf(输入错误,请重试!n);menu(n,m,w); void savetofile() /*信息存入文件file*/FILE *fp; int i; if(fp=fopen(file.txt,w)=NULL) printf(cannot open the filen);return; for(i=0;iN;i+) if(ai.snum!=0)if(fwrite(&ai,sizeof(snode),1,fp)!=1)printf(file write errorn);return; fclose(fp);void readfromfile() /*信息从
5、文件file中取出*/ int i;FILE *fp; if(fp=fopen(file.txt,rb)=NULL) printf(cannot open the filen);return; for(i=0;iN;i+)fread(&ai,sizeof(snode),1,fp); fclose(fp);void input(int n,int m,int w) /*1.信息输入*/int i,j,s,k,q=0; for(i=0;in;i+) printf(学校编号:); scanf(%d,&ai.snum); /*输入学校信息*/ for(j=0;jm+w;j+) printf(工程编号:
6、); scanf(%d,&ai.tj.inum);printf(工程取前3名或前5名(3或者5):); scanf(%d,&ai.tj.top);if(ai.tj.top=3)printf(获得名次个数(1-3):);elseprintf(获得名次个数(1-5):); scanf(%d,&k); /*输入工程信息*/ for(s=0;sk;s+) if(ai.tj.top=3)printf(所获名次(1-3):);elseprintf(所获名次(1-5):); scanf(%d,&ai.tj.ranges); /*输入所获名次信息*/ printf(n); for(i=0;in;i+) ai.
7、score=0; ai.mscore=0; ai.wscore=0; /*初始化分数*/for(i=0;in;i+)for(j=0;jm+w;j+)for(s=0;s5;s+) if(ai.tj.top=3)switch(ai.tj.ranges) case 0: ai.tj.marks=0; break; case 1: ai.tj.marks=5; break; case 2: ai.tj.marks=3; break; case 3: ai.tj.marks=2; break;else if(ai.tj.top=5)switch(ai.tj.ranges) case 0: ai.tj.m
8、arks=0; break; case 1: ai.tj.marks=7; break; case 2: ai.tj.marks=5; break; case 3: ai.tj.marks=3; break; case 4: ai.tj.marks=2; break; case 5: ai.tj.marks=1; break;else printf(信息有误!);printf(n);exit(0);ai.score=ai.score+ai.tj.marks; /*记学校总分*/if(j=m-1)ai.mscore=ai.mscore+ai.tj.marks; /*记男子团体总分*/elseai
9、.wscore=ai.wscore+ai.tj.marks; /*记女子团体总分*/printf(输入完毕!返回? 1是 2否n); /*返回菜单*/scanf(%d,&q);printf(n);if(q!=1)printf(不能再添加信息!);printf(n);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;in;i+) /*显示结果*/printf(学校编号:%d 学校总分:%d 男团总分:%d
10、女团总分:%dn,ai.snum,ai.score,ai.mscore,ai.wscore); for(j=0;jm+w;j+)printf(工程编号:%d 所取名次数量:%dn,ai.tj.inum,ai.tj.top);for(s=0;s5;s+) if(ai.tj.ranges!=0)printf(名次:%d 分数:%dn,ai.tj.ranges,ai.tj.marks);printf(n);printf(n);printf(统计完毕!返回? 1是 2否); /*返回菜单*/scanf(%d,&q);printf(n);if(q!=1)printf(统计已经结束!);printf(n)
11、; menu(n,m,w);void sortput(int n,int m,int w) /*3.排序输出*/ readfromfile();int c,i,j,k,q=0;int tempN; printf(t*排序输出系统*nn); printf(tt*1.按学校编号输出*n); printf(tt*2.按学校总分输出*n); printf(tt*3.按男团总分输出*n); printf(tt*4.按女团总分输出*n); printf(=nn);do printf(请选择要实现功能的编号(1-4):); scanf(%d,&c);switch(c)case 1: for(i=0;in;i
12、+)tempi=i; for(i=0;in;i+) for(j=i+1;jaj.snum) k=tempi; tempi=tempj; tempj=k; /* 用冒泡排序方法排序*/ for(i=0;in;i+) printf(学校编号:%d 学校总分:%d 男团总分:%d 女团总分:%dn,atempi.snum,atempi.score,atempi.mscore,atempi.wscore); /*按学校编号输出*/ break; case 2: for(i=0;in;i+)tempi=i; for(i=0;in;i+) for(j=i+1;jn;j+)if(atempi.scoreaj
13、.score) k=tempi;tempi=tempj;tempj=k; /* 用冒泡排序方法排序*/for(i=0;in;i+)printf(学校编号:%d 学校总分:%d 男团总分:%d 女团总分:%dn,atempi.snum,atempi.score,atempi.mscore,atempi.wscore); /*按学校总分输出*/break;case 3: for(i=0;in;i+)tempi=i;for(i=0;in;i+) for(j=i+1;jn;j+)if(atempi.mscoreaj.mscore) k=tempi;tempi=tempj;tempj=k; /* 用冒泡
14、排序方法排序*/for(i=0;in;i+)printf(学校编号:%d 学校总分:%d 男团总分:%d 女团总分:%dn,atempi.snum,atempi.score,atempi.mscore,atempi.wscore); /*按男团总分输出*/break; case 4: for(i=0;in;i+)tempi=i;for(i=0;in;i+) for(j=i+1;jn;j+)if(atempi.wscoreaj.wscore) k=tempi;tempi=tempj;tempj=k; /* 用冒泡排序方法排序*/for(i=0;in;i+)printf(学校编号:%d 学校总分:
15、%d 男团总分:%d 女团总分:%dn,atempi.snum,atempi.score,atempi.mscore,atempi.wscore); /*按女团总分输出*/break; default: printf(输入错误,请重试!n);printf(请选择 1 返回主菜单 0继续); /*返回菜单或继续排序*/scanf(%d,&q);printf(n);while(q=0);printf(n);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; p
16、rintf(t*查询系统*nn); printf(tt*1.按学校编号查询*n); printf(tt*2.按工程编号查询*n); printf(=nn);do k=-1;d=-1;l=-1;printf(请选择要实现功能的编号(1-2):); scanf(%d,&c);switch(c)case 1: printf(要查询的学校编号:); /*查找学校编号下标*/scanf(%d,&c);for(i=0;in;i+)if(ai.snum=c)k=i;if(k=-1)printf(错误:这个学校没有参加此次运动会!n);elseprintf(要查询的工程编号:); /*查找工程编号下标*/ s
17、canf(%d,&c);for(j=0;jm+w;j+)if(ak.tj.inum=c)d=j;if(d=-1)printf(此次运动会没有这个工程n);else /*显示结果*/ printf(这个工程取前 %d名,该学校的成绩如下:n, ak.td.top);for(i=0;i5;i+)if(ak.td.rangei!=0)printf(名次:%dn,ak.td.rangei); break; case 2:printf(要查询的工程编号:); /*查找工程编号下标*/scanf(%d,&c);for(i=0;in;i+)for(j=0;jm+w;j+)if(ai.tj.inum=c)l=j;if(l=-1)printf(此次运动会没有这个工程n);else /*显示结果*/printf(该工程取前 %d名,取得名次的学校n,a0.tl.top);for(i=0; in;i+)for(j=0;j5;j+)if(ai.tl.rangej!=0) printf(学校编号:%d,名次:%dn,ai.snum,ai.tl.rangej); break;default: printf(输入错误,请重试!n);printf(请选择:1.返回主菜单 0.继续); /*返回菜单或继续查询*/scanf(%d,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 先进制造技术电子束直接金属成形技术
- 2026年长沙社工试题(附答案)
- 2026年韶山市发展研究中心招聘试题(附答案)
- 2026年黑龙江省北安市高三数学下册期末考试模拟检测卷及答案【各地真题】
- 2026年黑龙江省同江市高三数学下册期末考试模拟卷附参考答案(能力提升)
- 2026年黑龙江省同江市高三数学下册期末考试模拟测试卷含答案【预热题】
- 2026年黑龙江省宁安市高三数学下册期末考试模拟测试卷含完整答案(典优)
- 2026年黑龙江省安达市高三数学下册期末考试模拟测试卷及答案(历年真题)
- 2026年黑龙江省密山市高三数学下册期末考试模拟测试卷附完整答案【历年真题】
- 2026年黑龙江省富锦市高三数学下册期末考试模拟考试卷及参考答案【研优卷】
- T/TMAC 248-2025连续石墨化炉能源消耗限额
- 2026年兰州大学物理试题及答案
- 2026畜禽种业自主创新与核心种群建设战略研究报告
- IMDG Code 42-24 修正案 锂电池海运包装标记与标签规范 中文版(P903 包装标识更新全解)
- 校园统一身份认证平台建设方案
- 初中数学七年级上册第一章《数学与我们同行》核心素养知识清单
- 供应链韧性的理论内涵与战略框架构建
- 2026年无人机应用技术考试测试题库附参考答案详解(完整版)
- 2026高考英语考前高频词汇+作文万能模板
- 2024人教版八年级英语下册(全册)教案
- GB/T 8325-2026塑料聚合物分散体和橡胶胶乳pH值的测定
评论
0/150
提交评论