C語言程序的設(shè)計運(yùn)動會成績統(tǒng)計系統(tǒng)方案_第1頁
C語言程序的設(shè)計運(yùn)動會成績統(tǒng)計系統(tǒng)方案_第2頁
C語言程序的設(shè)計運(yùn)動會成績統(tǒng)計系統(tǒng)方案_第3頁
C語言程序的設(shè)計運(yùn)動會成績統(tǒng)計系統(tǒng)方案_第4頁
C語言程序的設(shè)計運(yùn)動會成績統(tǒng)計系統(tǒng)方案_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

/程序設(shè)計工程訓(xùn)練報告運(yùn)動會分?jǐn)?shù)統(tǒng)計系統(tǒng)課程名稱C語言程序設(shè)計工程訓(xùn)練姓名院〔系信息科學(xué)與技術(shù)學(xué)院專業(yè)班級學(xué)號指導(dǎo)教師教務(wù)處制目錄1需求分析12系統(tǒng)總框圖和功能模塊說明22.1系統(tǒng)總框圖22.2功能模塊說明23系統(tǒng)設(shè)計33.1主要結(jié)構(gòu)體33.2主要功能函數(shù)33.3關(guān)鍵函數(shù)的流程圖44系統(tǒng)調(diào)試45總結(jié)76源程序清單71需求分析1問題描述運(yùn)動會分?jǐn)?shù)統(tǒng)計參加運(yùn)動會有n個學(xué)校,學(xué)校編號為1……n。比賽分成m個男子項目,和w個女子項目。項目編號為男子1~m,女子m+1~m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些項目取前五名或前三名由使用者設(shè)定?!瞞<=20,n<=202.基本要求:1>可以輸入各個項目的前三名或前五名的成績;

2>能統(tǒng)計各學(xué)??偡郑?>可以按學(xué)校編號、學(xué)??偡?、男女團(tuán)體總分排序輸出;

4>可以按學(xué)校編號查詢學(xué)校某個項目的情況;5>可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。3.測試數(shù)據(jù)首先進(jìn)入成績錄入界面,先輸入?yún)①悓W(xué)校數(shù),再輸入男子組數(shù)和女子組數(shù);然后進(jìn)入總目錄;輸入:1輸入成績;輸入:2統(tǒng)計各??偡?;輸入:3統(tǒng)計各校項目得分;輸入:4按學(xué)??偡峙判蜉敵觯惠斎耄?按男團(tuán)體總分排序輸出;輸入:6按女團(tuán)體總分排序輸出;輸入:7按學(xué)校編號查詢學(xué)校某個項目的成績;輸入:8按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校;輸入:0退出;2系統(tǒng)總框圖和功能模塊說明2.1系統(tǒng)總框圖啟動程序錄入學(xué)校數(shù),男、女子組數(shù)啟動程序錄入學(xué)校數(shù),男、女子組數(shù)顯示主目錄輸入成績統(tǒng)計各校分?jǐn)?shù)統(tǒng)計各校個項目得分按男團(tuán)體總分排序輸出按女團(tuán)體總分排序輸出按學(xué)校總分排序輸出按學(xué)校編號查詢學(xué)校某個項目的成績按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校用戶選擇某命令,產(chǎn)生相應(yīng)的操作顯示結(jié)果,用戶選擇返回主目錄或退出退出程序2.2功能模塊說明輸入:1輸入成績;···························輸入某一項目的成績輸入:2統(tǒng)計各校總分;···········統(tǒng)計各校所有項目總分之和輸入:3統(tǒng)計各校項目得分;·······輸出各校各項目得分輸入:4按學(xué)??偡峙判蜉敵?;·······按照總分從大到小排序輸入:5按男團(tuán)體總分排序輸出;····僅按照男子團(tuán)體總分從大到小排序輸入:6按女團(tuán)體總分排序輸出;····僅按照女子團(tuán)體總分從大到小排序輸入:7按學(xué)校編號查詢學(xué)校某個項目的成績;···輸入學(xué)校編號及項目編號可查詢該校的該項目成績輸入:8按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校;···輸入項目編號可查詢該項目獲得名次的學(xué)校輸入:0退出;······退出系統(tǒng)3系統(tǒng)設(shè)計3.1主要結(jié)構(gòu)體菜單號choo學(xué)校:num項目:ab男團(tuán)、de女團(tuán)、ke3.2主要功能函數(shù)voidexit0<>voidinput<>voideach<>voidbiaohao<>voidzongfen<>voidnanzong<>voidnvzong<>voidxuexiao<>voidxiangmu<>voidmain<>3.3關(guān)鍵函數(shù)的流程圖voidexit0<>voidinput<>voidexit0<>voidinput<>voideach<>voidbiaohao<>voidzongfen<>voidnanzong<>voidnvzong<>voidxuexiao<>voidxiangmu<>voidmain<>4系統(tǒng)調(diào)試<1>開始界面,分別輸入3、7、3.輸入1后顯示輸入2后顯示輸入3后顯示輸入4后顯示輸入5后顯示輸入6后顯示輸入7后顯示輸入8后顯示輸入9》》》》退出5總結(jié)本次課程設(shè)計檢驗了我的實踐能力,感覺自己還有許多東西要學(xué)習(xí),并不僅限于課本上的知識,實踐才是真理,在學(xué)習(xí)中實踐,實踐中去學(xué)習(xí)。學(xué)習(xí)的路很長。再有要多問,幾個人共同討論會有意想不到的效果源程序清單#include<stdio.h>#include<stdlib.h>inta,b,c,d,i,j;structnode{intnum;};structnode*f[22];voidexit0<>{FILE*fp;intk;alp:if<<fp=fopen<"e:\\sore.txt","w">>==NULL>{printf<"createrror\n">;printf<"1*****tryagain\n">;printf<"2*****tuichu\n">;printf<"3*****returnmenu\n">;//回到主菜單//alj:scanf<"%d",&k>;if<k==1>gotoalp;elseif<k==2>exit<0>;elseif<k==3>return;else{printf<"輸入錯誤,請重新輸入:">;gotoalj;}}printf<fp,"\n\n">;fprintf<fp,"*運(yùn)動會分?jǐn)?shù)統(tǒng)計表*\n\n\n">;printf<fp,"*項目代號*">;for<i=1;i<=c+d;i++>printf<fp,"%5d",i>;printf<fp,"">;printf<fp,"\n*學(xué)校代號*">;for<i=1;i<=a;i++>{printf<fp,"%10d",i>;for<b=1;b<=c+d;b++>{printf<fp,"%5d",f[i][b].num>;}printf<fp,"\n">;}printf<fp,"\n\n">;printf<fp,"the%dschoolnumbers\n\n",a>;/*注:本次運(yùn)動會有%d個學(xué)校參賽*/printf<fp,"1~%d組是男子組,%d~%d組是女子組\n",c,c+1,c+d>;/*其中1~%d組是男子組,%d~%d組是女子組*/printf<"\n*比賽成績已保存到當(dāng)前路徑下的sore.txt文件中*\n\n">;/*比賽成績已保存到當(dāng)前路徑下的"sore.txt"文件中*/fclose<fp>;exit<1>;}/*主菜單*/intchoose<>{intchoo;printf<"\n\n1******輸入成績\n">;printf<"2******統(tǒng)計各學(xué)校的總分\n">;printf<"3******統(tǒng)計各學(xué)校各項目的得分\n">;printf<"4******按學(xué)校總分排序輸出\n">;printf<"5******按男團(tuán)體總分排序輸出\n">;printf<"6******按女團(tuán)體總分排序輸出\n">;printf<"7******按學(xué)校編號查詢學(xué)校某個項目的成績\n">;printf<"8******按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校\n">;printf<"9******退出\n\n">;printf<"請選擇:">;scanf<"%d",&choo>;return<choo-1>;}/*輸入信息*/voidinput<>{intab,ac,ae,af,g=1,get[5]={0,0,0,0,0};printf<"\n請輸入項目代號:">;ale:scanf<"%d",&ab>;if<ab>c+d||ab<1>{printf<"\n此項目代號不存在,重新輸入:\n">;gotoale;}ae=0;for<i=0;i<=a;i++>{if<f[i][ab].num!=0>{ae=1;break;}}if<ae==1>{al2:printf<"\n此項目成績已被錄入過,是否要重新錄入:\n">;//此項目成績曾經(jīng)已被錄入過,是否要重新錄入〔您輸入的項目代號可能有誤,強(qiáng)烈建議您查證后再錄入//printf<"1++++是\n">;//〔若重新錄入,以前的該項目成績將被刪除//printf<"2++++否\n">;//不要,待查證后再錄入//scanf<"%d",&af>;if<af==2>{printf<"已取消錄入!\n">;return;}elseif<af==1>{for<i=1;i<=a;i++>{if<f[i][ab].num!=0>{f[i][0].num=f[i][0].num-f[i][ab].num;if<ab<=c>f[i][c+d+1].num=f[i][c+d+1].num-f[i][ab].num;elsef[i][c+d+2].num=f[i][c+d+2].num-f[i][ab].num;}f[i][ab].num=0;}}elsegotoal2;}al:printf<"\n此項目是以前幾名為勝出者:\n">;//選擇得分標(biāo)準(zhǔn)//printf<"3以前三名\n">;printf<"5以前五名\n">;scanf<"%d",&ac>;if<ac==3>{printf<"請按照第一、第二、第三的名次依次輸入獲勝學(xué)校代號:">;af=5;for<i=0;i<3;i++>{alq:scanf<"%d",&ae>;if<ae>a||ae<1>{printf<"%d學(xué)校代號不存在,重新輸入第%d名的學(xué)校代號:",ae,g>;gotoalq;}for<b=0;b<5;b++>{if<ae==get[b]>{printf<"同一個學(xué)校不能在同一項目中有兩個名次,請重新輸入第%d名的學(xué)校代號:",g>;gotoalq;}elseget[b]=ae;}f[ae][0].num=f[ae][0].num+af;f[ae][ab].num=af;if<ab<=c>f[ae][c+d+1].num=f[ae][c+d+1].num+af;elsef[ae][c+d+2].num=f[ae][c+d+2].num+af;if<af>3>af=af-2;elseaf--;g++;}}elseif<ac==5>{printf<"請按照第一、第二、第三、第四、第五的名次依次輸入獲勝學(xué)校代號:">;af=7;for<i=0;i<5;i++>{alw:scanf<"%d",&ae>;if<ae>a||ae<1>{printf<"%d學(xué)校代號不存在,重新輸入第%d名的學(xué)校代號:",ae,g>;gotoalw;}for<b=0;b<5;b++>{if<ae==get[b]>{printf<"同一個學(xué)校不能在同一項目中有兩個名次,請重新輸入第%d名的學(xué)校代號:",g>;gotoalw;}elseget[b]=ae;}f[ae][0].num=f[ae][0].num+af;f[ae][ab].num=af;if<ab<=c>f[ae][c+d+1].num=f[ae][c+d+1].num+af;elsef[ae][c+d+2].num=f[ae][c+d+2].num+af;if<af>3>af=af-2;elseaf--;g++;}}elsegotoal;printf<"輸入完成!\n">;}/*學(xué)校成績*/voideach<>{printf<"\n學(xué)校代號:團(tuán)體總成績\n">;for<i=1;i<=a;i++>{printf<"%d:%d\n",i,f[i][0].num>;}}/*各項目成績*/voidbiaohao<>{printf<"\n項目代號:">;for<i=1;i<=c+d;i++>{if<i>9>printf<"%d",i>;elseprintf<"%5d",i>;}printf<"\n學(xué)校代號:\n">;for<i=1;i<=a;i++>{printf<"%7d",i>;for<b=1;b<=c+d;b++>{if<f[i][b].num>9>printf<"%6d",f[i][b].num>;elseprintf<"%7d",f[i][b].num>;}printf<"\n">;}}/*按學(xué)校總分排序輸出*/voidzongfen<>{structnod{intke;intnum;};intha;structnod*de;de=<structnod*>malloc<sizeof<structnod>*a+1>;printf<"\n學(xué)校代號:團(tuán)體總成績\n">;for<i=1;i<=a;i++>{de[i].ke=i;de[i].num=f[i][0].num;}for<i=1;i<=a;i++>{for<b=i;b<=a;b++>{if<de[b].num>de[i].num>{ha=de[b].ke;de[b].ke=de[i].ke;de[i].ke=ha;ha=de[b].num;de[b].num=de[i].num;de[i].num=ha;}}}for<i=1;i<=a;i++>{printf<"%d:%d\n",de[i].ke,de[i].num>;}}/*按男子團(tuán)隊總分排序*/voidnanzong<>{structnod{intke;intnum;};intha;structnod*de;de=<structnod*>malloc<sizeof<structnod>*a+1>;printf<"\n學(xué)校代號:男子團(tuán)體總成績\n">;for<i=1;i<=a;i++>{de[i].ke=i;de[i].num=f[i][c+d+1].num;}for<i=1;i<=a;i++>{for<b=i;b<=a;b++>{if<de[b].num>de[i].num>{ha=de[b].ke;de[b].ke=de[i].ke;de[i].ke=ha;ha=de[b].num;de[b].num=de[i].num;de[i].num=ha;}}}for<i=1;i<=a;i++>{printf<"%d:%d\n",de[i].ke,de[i].num>;}}/*按女子團(tuán)隊總分排序*/voidnvzong<>{structnod{intke;intnum;};intha;structnod*de;de=<structnod*>malloc<sizeof<structnod>*a+1>;printf<"\n學(xué)校代號:女子團(tuán)體總成績\n">;for<i=1;i<=a;i++>{de[i].ke=i;de[i].num=f[i][c+d+2].num;}for<i=1;i<=a;i++>{for<b=i;b<=a;b++>{if<de[b].num>de[i].num>{ha=de[b].ke;de[b].ke=de[i].ke;de[i].ke=ha;ha=de[b].num;de[b].num=de[i].num;de[i].num=ha;}}}for<i=1;i<=a;i++>{printf<"%d:%d\n",de[i].ke,de[i].num>;}}/*按學(xué)校編號查詢學(xué)校某個項目的成績*/voidxuexiao<>{intdr,dt;printf<"\n要查詢的學(xué)校代號:">;aly:scanf<"%d",&dr>;if<dr>a||dr<1>{printf<"學(xué)校代號不存在,重新輸入:">;gotoaly;}printf<"要查詢的項目代號:">;alo:scanf<"%d",&dt>;if<dt>c+d||dt<1>{printf<"項目代號不存在,重新輸入:">;gotoalo;}printf<"第%d所學(xué)校的第%d項目成績?yōu)?d\n",dr,dt,f[dr][dt].num>;}/*按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校*/voidxiangmu<>{intge,sedy=0;printf<"\n要查詢的項目代號:">;all:scanf<"%d",&ge>;if<ge>c+d||ge<1>{printf<"沒有此項目代號,重新輸入:\n">;gotoall;}for<i=1;i<=a;i++>{if<f[i][ge].num==2>sedy=1;}if<sedy==0>{printf<"此項目沒有錄入成績\n">;return;}for<i=1;i<=a;i++>{if<f[i][ge].num==7>{printf<"此項目取前5名學(xué)校成績高到低依次為:\n">;break;}}if<i==a+1>printf<"此項目取前3名學(xué)校成績高到低依次為:\n">;for<i=7;i>0;i-->{for<b=1;b<=a;b++>{if<f[b][ge].num==i>printf<"%d號學(xué)校\n",b>;}}}void<*g[]><>={input,each,biaohao,zongfen,nanzong,nvzong,xuexia

溫馨提示

  • 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

提交評論