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

下載本文檔

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

文檔簡介

1、程序設(shè)計工程訓(xù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問題描述運動會分數(shù)統(tǒng)計參加運動會有n個學(xué)校,學(xué)校編號為1n0比賽分成m個男子項目,和w個女子 項目。項目編號為男子13 女子m+卜m+w不同的項目取前五名或前三名積分;取前 五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3

2、、2;哪些項目取前五 名或前三名由使用者設(shè)定。(m<=20,n<=2。2 .基本要求:1) 可以輸入各個項目的前三名或前五名的成績;2) 能統(tǒng)計各學(xué)??偡?;3) 可以按學(xué)校編號、學(xué)??偡帧⒛信畧F體總分排序輸出;4) 可以按學(xué)校編號查詢學(xué)校某個項目的情況;5)可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。3 .測試數(shù)據(jù)1) 首先進入成績錄入界面,先輸入?yún)①悓W(xué)校數(shù),再輸入男子組數(shù)和女子組數(shù);2) 然后進入總目錄;3) 輸入:1輸入成績;4) 輸入:2統(tǒng)計各??偡?;5) 輸入:3統(tǒng)計各校項目得分;6) 輸入:4按學(xué)??偡峙判蜉敵?;7) 輸入:5按男團體總分排序輸出;8) 輸入:6按女團體總分

3、排序輸出;9) 輸入:7按學(xué)校編號查詢學(xué)校某個項目的成績;10)輸入:8按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校;11)輸入:0退出;2系統(tǒng)總框圖和功能模塊說明2.1 系統(tǒng)總框圖按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校按學(xué)校編號查詢學(xué)校某個項目的成績按女團體總分排序輸出按男團體總分排序輸出按學(xué)??偡峙判蜉敵鼋y(tǒng)計各校個項目得分2.2 功能模塊說明1)輸入:1輸入成績; 輸入某一項目的成績2) 輸入:2統(tǒng)計各校總分; 統(tǒng)計各校所有項目總分之和3) 輸入:3統(tǒng)計各校項目得分; 輸出各校各項目得分4) 輸入:4按學(xué)??偡峙判蜉敵?;按照總分從大到小排序5) 輸入:5按男團體總分排序輸出;一僅按照男子團體總分

4、從大到小排序6) 輸入:6按女團體總分排序輸出;一僅按照女子團體總分從大到小排序7) 輸入:7按學(xué)校編號查詢學(xué)校某個項目的成績;一輸入學(xué)校編號及項目編號可查詢該校的該項目成績8) 輸入:8按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校;一輸入項目編號可查詢該項目獲得名次的學(xué)校9) 輸入:0退出;退出系統(tǒng)3系統(tǒng)設(shè)計3.1 主要結(jié)構(gòu)體菜單號choo學(xué)校:num項目:ab男團、de女團、ke3.2 主要功能函數(shù)void exit0()void input()void each()void biaohao()void zongfen()void nanzong()void nvzong()void xuexi

5、ao()void xiangmu()void main()3.3 關(guān)鍵函數(shù)的流程圖void exit0()void input()void each() void biaohao() void zongfen() void nanzong() void nvzong()void xuexiao() void xiangmu()void main()4系統(tǒng)調(diào)試<1>開始界面,分別輸入3、7、3.* * *運動會分數(shù)統(tǒng)計* * *費2個學(xué)校參賽,3 個男子組:?1 23456769*成各校目入本學(xué)男摹蟄充安貿(mào)的與子取 總詢 的殺亍.、?口香 總總號號項或nujfi'J績的f的五

6、輸入1后顯示請輸人項目代號:iJfi1 是二 目一請吟那第一、第二、第三的名次侏次輸入雜罷學(xué)校代號,I 輸入完質(zhì),1 M W KM WK24mwkhwk 5*fl*MMWMHUS.S.號號的 !:0_查分 個 得出的出項或詢詢?nèi)涨爸奈遢斎?后顯示請選擇,2學(xué)校代號:團體總成績項或 個三得由靠前 :>悻學(xué)期 忠普.:詢詢針再查iows-lr人計爭罷盅子由學(xué)即 總前囪氫號號 團?目 入Ttt學(xué)男盅子存出出某團 的-I績的1的五RTF前請優(yōu)擇;輸入3后顯示請選擇工3攀翡:123451S6e3623663632eH30輸入4后顯示學(xué)校代號:團體總成密1: 51 K-M-MKK-M交的總瀛目的

7、得分青男團界聚注E奇舞i瓶雕露校輸入5后顯示請選擇,S學(xué)校代號;男子團體息成績1: S校學(xué) 績的 f 的五項或 個=出出某前的出學(xué)取 總詢 的香一 4卷妝分日Jnogr-成各賓團團校目 、人學(xué)男/子二二二 二 士 二 二 M 二 二* *123456789輸入6后顯示請選播6學(xué)校代號;女子團體總成個一一得出出某前 的出 八學(xué)取 總詢 的卷一查分總總號號 成各拿團露目 入t學(xué)男宣子輸入7后顯示? 8請選j圣:7,查詢的學(xué)校J弋號,1克查詢的項目代號;1I 1所享忌第1項目成績?yōu)?績 的學(xué)校f的五un刖項或個-得出出某前 的出 分nWttt學(xué)取 的香一 分總總號號成等有maH歸目 入M學(xué)男豆子田

8、醺統(tǒng)按H 二 二輸入8后顯示12345678請選擇:8零查詢的項目代號;工曲項目史前3名學(xué)校成績高到低依次為:5*! 勇q4.1 if7. x X U X x 七 f p校 績的 的五 同我 項或 分 個一一 得出出某前 的出 分101學(xué)取 總圖詢 的<薯香一 上或悅分急急號號 成各嘉團團校目輸入9»»»»退出5總結(jié)本次課程設(shè)計檢驗了我的實踐能力,感覺自己還有許多東西要學(xué)習(xí),并不僅限于課本上 的知識,實踐才是真理,在學(xué)習(xí)中實踐,實踐中去學(xué)習(xí)。學(xué)習(xí)的路很長。再有要多問, 幾個人共同討論會有意想不到的效果6源程序清單#include<stdio.

9、h>#include<stdlib.h>int a,b,c,d,i,j;struct nodeint num;;struct node *f22;void exit0()FILE *fp;int k;alp:if(fp=fopen("e:sore.txt","w")尸NULL)printf("creat errorn");printf(" 1*try again'n");printf(" 2*tui chu'n");printf(" 3*return

10、menu'n"); 回到主菜單alj: scanf("%d",&k);if(k=1)goto alp;else if(k=2)exit(0);else if(k=3) return;else printf("輸入錯誤,請重新輸入:");goto alj; printf(fp,"nn");fprintf(fp," *運動會分數(shù)統(tǒng)計表*nnn");printf(fp," * 項目代號 *");for(i=1;i<=c+d;i+)printf(fp,"%5d&

11、quot;,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",fib.num);printf(fp,"n");注:本次運動會有d個學(xué)校參賽*/printf(fp,"n'n");printf(fp," the %d school numbersnn",a); /*其中1

12、 %間是男子組,%dprintf(fp," 1 %d組是男子組,%d %間是女子組 n",c,c+1,c+d); /* %d組是女子組*/printf("n*比賽成績已保存到當(dāng)前路徑下的sore.txt 文件中*nn");/*比賽成績已保存到當(dāng)前路徑下的"sore.txt" fclose(fp);exit(1);/*主菜單*/int choose()int choo;printf("nn 1*printf(" 2*文件中*/printf(" 3*printf(" 4*輸入成績n");統(tǒng)

13、計各學(xué)校的總分n");統(tǒng)計各學(xué)校各項目的得分n");按學(xué)??偡峙判蜉敵鰊");printf(" 5*按男團體總分排序輸出n");printf(" 6*按女團體總分排序輸出n");printf(" 7*按學(xué)校編號查詢學(xué)校某個項目的成績 n");printf(" 8*按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校n");printf(" 9*退出 nn");printf("請選擇:");scanf("%d",&choo);retur

14、n(choo-l);/*輸入信息*/void input()int ab,ac,ae,af,g=1,get5=0,0,0,0,0;printf("n請輸入項目代號:");ale:scanf("%d",&ab);if(ab>c+d|ab<1)printf("n 此項目代號不存在,重新輸入:n");goto ale;ae=0;for(i=0;i<=a;i+)if(fiab.num!=0)ae=1;break;if(ae=1)此項目成績曾經(jīng)已被錄入過,/al2: printf("n 此項目成績已被錄入過,

15、是否要重新錄入:n"); 是否要重新錄入(您輸入的項目代號可能有誤,強烈建議您查證后再錄入)printf(" 1+ 是n");/ (若重新錄入,以前的該項目成績將被刪除) printf(" 2+ 否n"); 不要,待查證后再錄入 scanf("%d",&af);if(af=2)printf("已取消錄入!n");return;else if(af=1)for(i=1;i<=a;i+)if(fiab.num!=0)fi0.num=fi0.num-fiab.num;if(ab<=c)fic

16、+d+1.num=fic+d+1.num-fiab.num; elsefic+d+2.num=fic+d+2.num-fiab.num;fiab.num=0;elsegoto al2;al: printf("n此項目是以前幾名為勝出者:n"); 選擇得分標(biāo)準printf(" 3 以前三名 n");printf(" 5 以前五名 n");scanf("%d",&ac);if(ac=3)printf(" 請按照第一、第二、第三的名次依次輸入獲勝學(xué)校代號:”);af=5; for(i=0;i<3;

17、i+) alq: scanf("%d",&ae); if(ae>a|ae<1) printf(" %d學(xué)校代號不存在,重新輸入第d名的學(xué)校代號:",ae,g);goto alq;for(b=0;b<5;b+) if(ae=getb) printf("同一個學(xué)校不能在同一項目中有兩個名次,請重新輸入第名的學(xué)校代號:",g);goto alq; else getb=ae;fae0.num=fae0.num+af;faeab.num=af;if(ab<=c)faec+d+1.num=faec+d+1.num+

18、af; elsefaec+d+2.num=faec+d+2.num+af;if(af>3) af=af-2;else af-; g+;else if(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);goto alw;for(b=0;b<5;b+) if(ae=getb) pri

19、ntf("同一個學(xué)校不能在同一項目中有兩個名次,請重新輸入第名的學(xué)校代號:",g);goto alw; else getb=ae;fae0.num=fae0.num+af;faeab.num=af; if(ab<=c)faec+d+1.num=faec+d+1.num+af; elsefaec+d+2.num=faec+d+2.num+af;if(af>3) af=af-2;else af-; g+;elsegoto al;printf(" 輸入完成! n");/*學(xué)校成績*/void each()printf("n學(xué)校彳弋號:團體

20、總成績n");for(i=1;i<=a;i+)printf(" %d : %dn",i,fi0.num);/*各項目成績*/void biaohao()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<=

21、c+d;b+)if(fib.num>9)printf("%6d",fib.num);elseprintf("%7d",fib.num);printf("n");/*按學(xué)??偡峙判蜉敵?/void zongfen()struct nodint ke;int num;;int ha;struct nod *de;de=(struct nod *)malloc(sizeof(struct nod)*a+1);printf("n學(xué)校彳弋號:團體總成績n");for(i=1;i<=a;i+)dei.ke=i;de

22、i.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;deb.num=dei.num;dei.num=ha;for(i=1;i<=a;i+)printf(" %d : %dn",dei.ke,dei.num);/*按男子團隊總分排序*/void nanzong()struct nodint ke;int num;int ha;struct nod *de;de=(struct nod *

23、)malloc(sizeof(struct nod)*a+1);printf("n學(xué)校彳弋號:男子團體總成績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(" %d : %dn",dei

24、.ke,dei.num); /*按女子團隊總分排序*/void nvzong()struct nodint ke;int num;;int ha;struct nod *de;de=(struct nod *)malloc(sizeof(struct nod)*a+1); printf("n學(xué)校彳弋號:女子團體總成績n");for(i=1;i<=a;i+)dei.ke=i;dei.num=fic+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=de

25、i.ke;dei.ke=ha;ha=deb.num;deb.num=dei.num; dei.num=ha;for(i=1;i<=a;i+) printf(" %d : %dn",dei.ke,dei.num);/*按學(xué)校編號查詢學(xué)校某個項目的成績 */void xuexiao()int dr,dt;printf("n要查詢的學(xué)校代號:");aly:scanf("%d",&dr);if(dr>a|dr<1)printf("學(xué)校代號不存在,重新輸入:");goto aly;printf(&q

26、uot;要查詢的項目代號:");alo:scanf("%d",&dt);if(dt>c+d|dt<1)printf("項目代號不存在,重新輸入:");goto alo;printf("第 %d 所學(xué)校的第 %d 項目成績?yōu)?dn",dr,dt,fdrdt.num);/*按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校*/void xiangmu()int ge,sedy=0;printf("n 要查詢的項目代號:");all:scanf("%d",&ge);if(ge&

27、gt;c+d|ge<1)printf("沒有此項目代號,重新輸入:n");goto all;for(i=1;i<=a;i+)if(fige.num=2)sedy=1;if(sedy=0)printf("此項目沒有錄入成績n");return;for(i=1;i<=a;i+)if(fige.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(fbge.num=i)printf(" %d號學(xué)校 n",b);void(*g口)()=input,each,biaohao,zongfen,nanzong,nvzong,xuexiao,xiangmu,exit0;/*主函數(shù)*/void main()int choos;printf(&q

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論