運動會成績統(tǒng)計分析_第1頁
運動會成績統(tǒng)計分析_第2頁
運動會成績統(tǒng)計分析_第3頁
運動會成績統(tǒng)計分析_第4頁
運動會成績統(tǒng)計分析_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上成績_20082009學(xué)年第二學(xué)期第一周上機實習(xí)報告學(xué)院:12 專業(yè):12 班級:12 姓名:12 學(xué)號:12 指導(dǎo)教師: 1、運動會分?jǐn)?shù)統(tǒng)計任務(wù):參加運動會有n個學(xué)校,學(xué)校編號為1n。比賽分成m個男子項目,和w個女子項目。項目編號為男子1m,女子m+1m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學(xué)生自己設(shè)定。(m<=20,n<=20)功能要求:1).可以輸入各個項目的前三名或前五名的成績;2)能統(tǒng)計各學(xué)??偡郑?)可以按學(xué)校編號、學(xué)校總分、男女團(tuán)體總分排序輸出;4

2、).可以按學(xué)校編號查詢學(xué)校某個項目的情況;可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。規(guī)定:輸入數(shù)據(jù)形式和范圍:20以內(nèi)的整數(shù)(如果做得更好可以輸入學(xué)校的名稱,運動項目的名稱)輸出形式:有中文提示,各學(xué)校分?jǐn)?shù)為整形界面要求:有合理的提示,每個功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。存儲結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計,但是要求運動會的相關(guān)數(shù)據(jù)要存儲在數(shù)據(jù)文件中。(數(shù)據(jù)文件的數(shù)據(jù)讀寫方法等相關(guān)內(nèi)容在c語言程序設(shè)計的書上,請自學(xué)解決)請在最后的上交資料中指明你用到的存儲結(jié)構(gòu);測試數(shù)據(jù):要求使用1、全部合法數(shù)據(jù);2、整體非法數(shù)據(jù);3、局部非法數(shù)據(jù)。進(jìn)行程序測試,以保證程序的穩(wěn)定。測試

3、數(shù)據(jù)及測試結(jié)果請在上交的資料中寫明;2、需求分析:需要能夠一個能達(dá)到輸入、查詢、統(tǒng)計、輸出運動會信息,以及自動進(jìn)行名詞排定等功能的運動會分?jǐn)?shù)統(tǒng)計系統(tǒng)。需要輸入時,應(yīng)加一個新的結(jié)構(gòu)體來直接進(jìn)行輸入工作。其中查詢需要輸出學(xué)?;蝽椖康木幪枺煽儯梢宰詳M),排名等,需要的就是一個輸出函數(shù),和輸出時用指針數(shù)組就可以解決。統(tǒng)計者可以先輸入各項目中每個學(xué)校參賽者的成績,用一個比較函數(shù)進(jìn)行比較,按照項目排名、學(xué)校總成績排名、男女團(tuán)體排名輸出,供使用者進(jìn)行參考。3、概要設(shè)計在此說明每個部分的算法設(shè)計說明(可以是描述算法的流程圖),每個程序中使用的存儲結(jié)構(gòu)設(shè)計說明(如果指定存儲結(jié)構(gòu)請寫出該存儲結(jié)構(gòu)的定義)。開始

4、菜單輸入共有多少個學(xué)校參賽輸入有幾個男子組參加輸入有幾個女子組參加主菜單123456789輸入成績統(tǒng)計各學(xué)校的總分按學(xué)校編號排序輸出按學(xué)校總分排序輸出按男團(tuán)體總分排序輸出按女團(tuán)體總分排序輸出按學(xué)校編號查詢學(xué)校某個項目的成績按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校退出1.輸入成績輸入成績輸入項目編碼選擇前5或前3依次輸出獲得名次的學(xué)校2.統(tǒng)計顯示各學(xué)??偡掷^續(xù) y退出 n3.按學(xué)校編號排序輸出各學(xué)校得成績繼續(xù) y退出 n4.按學(xué)校總分排序輸出繼續(xù) y退出 n5.按男團(tuán)體總分排序輸出繼續(xù) y退出 n6.按女團(tuán)體總分排序輸出繼續(xù) y退出 n7.按學(xué)校編號查詢學(xué)校某個項目的成績輸入學(xué)校編號輸入項目編號顯示

5、成績8.按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校輸入項目編號顯示前3或前5的學(xué)校4、詳細(xì)設(shè)計#include<stdio.h>#include<stdlib.h> int a,b,c,d,i,j; struct node int num; ; struct node *f22; void exit0() FILE *fp; int k; alp:if(fp=fopen("sore.txt","w")=NULL) printf("creat errorn"); /*創(chuàng)建文件失敗*/printf(" 1*tr

6、y againn"); /* 重試*/printf(" 2*tui chun"); /* 強制退出(數(shù)據(jù)將不會保存到文件)*/printf(" 3*return menun"); /*回到主菜單*/alj: scanf("%d",&k); if(k=1) goto alp; else if(k=2) exit(0); else if(k=3) return; else printf("put in error,pleaseshuru again:"); /* 輸入錯誤,請重新輸入*/goto al

7、j; fprintf(fp,"nn"); fprintf(fp," fenshu tongji biaonnn"); /*運動會分?jǐn)?shù)統(tǒng)計表*/ fprintf(fp," xiangmu number"); /*項目代號 */for(i=1;i<=c+d;i+) fprintf(fp,"%5d",i); fprintf(fp," "); fprintf(fp,"n school numbern");/*學(xué)校代號*/ for(i=1;i<=a;i+) fprintf(

8、fp,"%10d ",i); for(b=1;b<=c+d;b+) fprintf(fp,"%5d",fib.num); fprintf(fp,"n"); fprintf(fp,"nn"); fprintf(fp," the %d school numbersnn",a); /*注: 本次運動會有%d個學(xué)校參賽 */fprintf(fp," 1 %dman sport zu,%d %dwoman sport zu n",c,c+1,c+d); /*其中1 %d組是男子組

9、,%d %d組是女子組*/printf("n chengji baocun zai“sore.txt”wenjiannn");/* 比賽成績已保存到當(dāng)前路徑下的“sore.txt”文件中*/ fclose(fp); exit(1); int choose() int choo; printf("nn 1*shuru chengjin"); /* 輸入成績*/printf(" 2*tongjixuexiao zhongfenn"); /*統(tǒng)計各學(xué)校的總分 */printf(" 3*an xuexiao biaohao shuc

10、hun"); /*按學(xué)校編號排序輸出*/printf(" 4*an xuexiao zhongfen shuchun"); /*按學(xué)??偡峙判蜉敵?/printf(" 5*an man sport zu shuchun"); /*按男團(tuán)體總分排序輸出 */printf(" 6*an woman sport zu shuchun"); /*按女團(tuán)體總分排序輸出*/printf(" 7*an xuexiao bianhao chaxun xiangmu chengjin"); /*按學(xué)校編號查詢學(xué)校某個項目的

11、成績 */printf(" 8*an xiangmu bianhao chaxun qian3 hou qian5 xuexiaon");/*按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校 */ printf(" 9*exitnn"); /*退出*/ printf("please enter you choise");/*請選擇:*/ scanf("%d",&choo); return(choo-1); void input() int ab,ac,ae,af,g=1,get5=0,0,0,0,0; printf(&

12、quot;nshuru xiangmu bianhao:"); /*請輸入項目代號:*/ ale:scanf("%d",&ab); if(ab>c+d|ab<1) printf("nxiangmu bu cunzai,please shuru againn"); /*此項目代號不存在,重新輸入 */goto ale; ae=0; for(i=0;i<=a;i+) if(fiab.num!=0) ae=1; break; if(ae=1) al2: printf("nchengji yijing luru,ch

13、ongxin luru:n"); /*此項目成績曾經(jīng)已被錄入過,是否要重新錄入(您輸入的項目代號可能有誤,強烈建議您查證后再錄入)*/ printf(" 1+chongxin lurun");/* 重新錄入(若重新錄入,以前的該項目成績將被刪除)*/ printf(" 2+dai chazheng zai lurunn");/*不要,待查證后再錄入 */ scanf("%d",&af); if(af=2) printf("ni yi luru!n"); /*您已取消錄入*/return; else

14、 if(af=1) for(i=1;i<=a;i+) if(fiab.num!=0) fi0.num=fi0.num-fiab.num; if(ab<=c) fic+d+1.num=fic+d+1.num-fiab.num; else fic+d+2.num=fic+d+2.num-fiab.num; fiab.num=0; else goto al2; al: printf("nqian ji ming win:nn"); /*此項目是以前幾名為勝出者*/printf(" 3-qian 3n"); /*以前三名*/printf("

15、 5-qian 5nn"); /*以前五名 */scanf("%d",&ac); if(ac=3) printf("nwin school number:"); /*請依次輸入獲勝學(xué)校代號*/ af=5; for(i=0;i<3;i+) alq: scanf("%d",&ae); if(ae>a|ae<1) printf("%dxuexiao bu cunzai,chongxin shuru %dming xuexiao bianman",ae,g); /*%d學(xué)校代號不

16、存在,重新輸入第%d名的學(xué)校代號 */goto alq; for(b=0;b<5;b+) if(ae=getb) printf("tongxuexiao cannot zai tongyi xiangmu you liangge mingci ,chongxin shuru%dming xuexiao bianma!n",g); /*同一個學(xué)校不能在同一項目中有兩個名次,請重新輸入第%d名的學(xué)校代號*/ goto alq; else getb=ae; fae0.num=fae0.num+af; faeab.num=af; if(ab<=c) faec+d+1.n

17、um=faec+d+1.num+af; else faec+d+2.num=faec+d+2.num+af; if(af>3) af=af-2; else af-; g+; else if(ac=5) printf("please yici shuru win school number:"); /*請依次輸入獲勝學(xué)校代號 */af=7; for(i=0;i<5;i+) alw: scanf("%d",&ae); if(ae>a|ae<1) printf("%dschool number bu cunzai,ch

18、ongxin shuru%dming schoolnumbern",ae,g); /*學(xué)校代號不存在,重新輸入第%d名的學(xué)校代號*/goto alw; for(b=0;b<5;b+) if(ae=getb) printf("tongxuexiao cannot zai tongyi xiangmu you liangge mingci ,chongxin shuru%dming xuexiao bianma!n",g); /*同一個學(xué)校不能在同一項目中有兩個名次,請重新輸入第%d名的學(xué)校代號*/ goto alw; else getb=ae; fae0.nu

19、m=fae0.num+af; faeab.num=af; if(ab<=c) faec+d+1.num=faec+d+1.num+af; else faec+d+2.num=faec+d+2.num+af; if(af>3) af=af-2; else af-; g+; else goto al; printf("nn shuru wancheng ! ! ! ! n"); /* 輸入完成*/ void each() printf("n duiying geshi:n school numbers:tongti chengjinn "); /

20、*對應(yīng)的格式為:學(xué)校代號:團(tuán)體總成績*/for(i=1;i<=a;i+) printf("%2d:%3d ",i,fi0.num); if(i%3=0) printf("n "); void biaohao() printf("nxiangmu"); /*項目代號*/for(i=1;i<=c+d;i+) if(i>9) printf("%4d ",i); else printf("%5d ",i); printf("n"); printf("sch

21、ooln");/*學(xué)校代號 */ for(i=1;i<=a;i+) printf(" %d ",i); for(b=1;b<=c+d;b+) if(fib.num>9) printf("%6d",fib.num); else printf("%7d",fib.num); printf("n"); void zongfen() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(size

22、of(struct nod)*a+1); printf("an xuexiao biaohao shuchunn"); /*按學(xué)校編號排序輸出 */printf(" xuexiao bianhao zhongfennn"); /*學(xué)校代號 總分*/for(i=1;i<=a;i+) dei.ke=i; dei.num=fi0.num; for(i=1;i<=a;i+) for(b=i;b<a;b+) if(deb.num>dei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num

23、; deb.num=dei.num; dei.num=ha; for(i=1;i<=a;i+) printf("%13d%8dn",dei.ke,dei.num); void nanzong() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf("n an man sport zu shuchunn"); /*按男子團(tuán)體總分排序輸出 */printf(" xuexiao

24、bianhao manzu zhongfennn"); /*學(xué)校代號 男子團(tuán)體總分*/ for(i=1;i<=a;i+) dei.ke=i; dei.num=fic+d+1.num; for(i=1;i<=a;i+) for(b=i;b<a;b+) if(deb.num>dei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;i<=a;i+) printf("%13d%12dn",dei.ke,dei.

25、num); void nvzong() struct nod int ke; int num; ; int ha; struct nod *de; de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf(" an woman sport zu shuchunn"); /*按女子團(tuán)體總分排序輸出 */printf(" xuexiao bianhao womanzu zhongfennn"); /*學(xué)校代號 女子團(tuán)體總分*/for(i=1;i<=a;i+) dei.ke=i; dei.num=fi

26、c+d+2.num; for(i=1;i<=a;i+) for(b=i;b<a;b+) if(deb.num>dei.num) ha=deb.ke; deb.ke=dei.ke; dei.ke=ha; ha=deb.num; deb.num=dei.num; dei.num=ha; for(i=1;i<=a;i+) printf("%15d%13dn",dei.ke,dei.num); void xuexiao() int dr,dt; printf("nshuru ni chaxun school number:");/*請輸入

27、您要查詢的學(xué)校代號 */aly:scanf("%d",&dr); if(dr>a|dr<1) printf("school number bu cunzai,chongxin shurun"); /*學(xué)校代號不存在,重新輸入*/goto aly; printf("chaxun xiangmu de haoma:"); /*請輸入您要查詢的項目代號*/ alo:scanf("%d",&dt); if(dt>c+d|dt<1) printf("xiangma bianm

28、a bu cunzai,chongxin churun"); /*項目代號不存在,重新輸入 */goto alo; printf("nn %3d xuexiao%3d xiangmuchengji%3dn",dr,dt,fdrdt.num);/* %3d 學(xué)校的%3d 項目成績?yōu)?3d */ void xiangmu() int ge,sedy=0; printf("n shuru chaxun xiangmu bianma:"); /*請輸入您要查詢的項目代號*/ all:scanf("%d",&ge); prin

29、tf("end");if(ge>c+d|ge<1)printf("meiyou xiangmu daihao,chongxin shurun"); /*沒有此項目代號,重新輸入*/goto all; for(i=1;i<=a;i+) if(fbge.num=2) sedy=1; if(sedy=0) printf("xiangmu meiyou luru chengjin"); /* 此項目沒有錄入成績*/return; for(i=1;i<=a;i+) if(fige.num=7) printf("

30、 qu qian5ming winn"); /*此項目取前5名獲獎?wù)?*/break; if(i=a+1) printf(" qu qian3ming winn"); /*此項目取前3名獲獎?wù)?/printf("n win mingdan gao dao di paixun:nn "); /*獲勝名單由成績高到低依次為*/ for(i=7;i>0;i-) for(b=1;b<=a;b+) if(fbge.num=i) printf("%5d",b); void(*g)()=input,each,biaohao,zongfen,nanzong,nvzong,xuexiao,xiangmu,exit0; void main() int choos; printf("nn * * * sports games datas * * *nnn"); /*運動會分?jǐn)?shù)統(tǒng)計*/printf("you duoshao xuexiao cenjia:"); /*共有多少個學(xué)校參賽 */scanf("%d&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論