版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 揚(yáng)州市職業(yè)大學(xué)《服裝設(shè)計原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 《沸石咪唑酯骨架材料的合成與性能研究》
- 《江門市濱海旅游競爭力分析》
- 2024年小學(xué)校舍租賃與教學(xué)設(shè)施更新合同3篇
- 2024年標(biāo)準(zhǔn)一體機(jī)買賣協(xié)議模板版B版
- 2024年離婚房產(chǎn)分割及婚姻終止后續(xù)財產(chǎn)分割及子女撫養(yǎng)費(fèi)支付協(xié)議3篇
- 2025的鋼材購買合同范本
- 幼兒園大班美術(shù)活動《青花瓷盤》教案
- 2025高層勞動合同范文
- 2024年基礎(chǔ)設(shè)施建設(shè)項目貸款擔(dān)保協(xié)議3篇
- 高壓滅菌鍋使用管理制度
- 2023年福建省晉江市數(shù)學(xué)七年級第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 《行政法與行政訴訟法》考試小抄
- 余熱發(fā)電工程總施工組織設(shè)計方案
- 報聯(lián)商整合版專題培訓(xùn)課件
- 城鄉(xiāng)居民基本養(yǎng)老保險參保登記表
- 建設(shè)工程監(jiān)理費(fèi)計算器(免費(fèi))
- 如何開展經(jīng)常性思想工作演示文稿
- 西方文官制度和我國公務(wù)員制度的比較
- DZY4850H整流器維修指導(dǎo)書
- 2023年7月中央電大行政管理本科《行政法與行政訴訟法》期末考試
評論
0/150
提交評論