版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、任務(wù):參加運動動會有n個學(xué)學(xué)校,學(xué)校編編號為1n。比賽分分成m個男子子項目,和ww個女子項目目。項目編號號為男子1m,女子子m+1m+w。不不同的項目取取前五名或前前三名積分;取前五名的的積分分別為為:7、5、33、2、1,前前三名的積分分分別為:55、3、2;哪些取前五五名或前三名名由學(xué)生自己己設(shè)定。(mm=20,n=200)功能能要求:1).可以輸入入各個項目的的前三名或前前五名的成績績;2)能統(tǒng)計各各學(xué)??偡?,3)可以按學(xué)校編號、學(xué)??偡帧⒛信畧F體總分排序輸出;4).可以按學(xué)校編號查詢學(xué)校某個項目的情況;可以按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。 規(guī)定:輸入數(shù)據(jù)形式和范圍:20以內(nèi)的整數(shù)
2、(如果做得更好可以輸入學(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ù)。進行程序測試,以保證程序的穩(wěn)定。測試數(shù)據(jù)及測試結(jié)果請在上交的資料中寫明;#includde #includde #includde #includdeusing
3、 nnamesppace sstd; int n,mm,w;struct pro /表示項目目的結(jié)構(gòu)體 stringg namee; /項項目名稱 int snnum6; /前前5名學(xué)校的的編號 p21; struct schoool /表表示學(xué)校的結(jié)結(jié)構(gòu)體 int nuum; stringg namee; /學(xué)學(xué)校名稱 int sccore; /學(xué)??偪偡?int maale; /男子總分分 int feemale; /女子子總分 sch211; int inttegrall15=7,5,3,2,11;/前前五名得分int inttegrall23=5,3,2;/前三名得分分 void in
4、nput() int i,j,y,xx; printff(輸入學(xué)學(xué)校數(shù)目:); y=0; scanf(%d,&n); if(n=1&n=20)y=1; if(y)bbreak; elseprinttf(輸入入數(shù)據(jù)有誤,請請重新輸入:); for(i=1;i=n;i+) printtf(輸入入第%d個學(xué)學(xué)校的名稱:,i); scanff(%s,&schhi.nname); schii.scoore=0; schii.femmale=00; schii.malle=0; schii.numm=i; printff(輸入男男子項目數(shù)和和女子項目數(shù)數(shù):); y=0; scanf(%d%dd,&m,&w
5、); if(m=1&ww=11)y=1; if(y)brreak; else prrintf(輸入數(shù)據(jù)據(jù)有誤,請重重新輸入:); for(i=11;i=mm+w;i+) printf(輸入第%d個項目的的名稱:nn,i); scanf(%s,& e); printf(輸入第%d個項目的的前5名的學(xué)學(xué)校編號:n,i); for(j=11;j=11&x=20)y=1; if(y)brreak; else prrintf(輸入數(shù)據(jù)據(jù)有誤,請重重新輸入:); pi.snnumj=x; schx.scoree+=inttegrallj-1; if(i=mm)schx.maale+=iint
6、egrralj-1; else scchx.femalle+=inntegraalj-11; void prrint(iint i) printf(%d%dd%s%d%d%d%dd%d%d,schi.nuum,settw(10),schi.naame,seetw(8),schi.sccore,ssetw(99) ,schi.malee,setww(10),schii.femmale); void biianhaoo() /按編號排序序 int i,jj; school t; for(i=11;in;i+) for(j=ii;jschhj.nnum) t=schi;scchi=schjj;sch
7、hj=tt; printf(n按編編號排列:n); printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總總分n); for(i=11;i=nn;i+) print(ii); void zoongfenn() /按學(xué)校總分分排序 int i,jj; school t; for(i=11;in;i+) for(j=ii;j=nn;j+) if(schi.sccoresschj.scorre) t=schi;scchi=schjj;schhj=tt; printf(n按學(xué)學(xué)??偡峙帕辛?n); printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總總分n); for(i=11;i=nn;i
8、+) print(ii); ofstreaam fouut;fout.oppen(運運動會分?jǐn)?shù)統(tǒng)統(tǒng)計.txtt); fout編號 學(xué)校校名稱 總分分 男子總分分 女子總分分enndl;for(i=11;i=nn;i+) foutschii.nummsettw(13)schhi.nnamesetw(8)sschi.scorreseetw(9) schii.malleseetw(100)scchi.femalleenndl; fout.cllose(); void maalezf() /按按學(xué)校男總分分排序 int i,jj; school t; for(i=11;in;i+) for(j=ii;
9、j=nn;j+) if(schi.maalescchj.male) t=schi;scchi=schjj;schhj=tt; printf(n按學(xué)學(xué)校男子總分分排列:nn); printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總總分n); for(i=11;i=nn;i+) print(ii); void feemalezzf() /按學(xué)校女女總分排序 int i,jj; school t; for(i=11;in;i+) for(j=ii;j=nn;j+) if(schi.feemaleschjj.femmale) t=schi;scchi=schjj;schhj=tt; printf
10、(n按學(xué)學(xué)校女子總分分排列:nn); printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總總分n); for(i=11;i=11&s=n)y=11; if(y)brreak; else prrintf(輸入數(shù)據(jù)據(jù)有誤,請重重新輸入:); printf(該學(xué)校相相關(guān)信息:n); printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總總分n); for(i=11;i=11&s=n)y=11; if(y)brreak; else prrintf(輸入數(shù)據(jù)據(jù)有誤,請重重新輸入:); printf(%s前55名學(xué)校編號號及名稱為n,ps.naame); printf(名次 編編號 學(xué)校名名稱n
11、); for(i=11;i=55;i+) printf( %d %d%d%sn,i,pss.snuumi,setw(12),ssch pps.ssnumii .nname); printf(n); void soolve() /菜單單函數(shù) int z; while(11) printf(n選擇擇您需要的操操作(選擇序序號):nn); printf(1.按學(xué)學(xué)校編號排序序輸出n); printf(2.按學(xué)學(xué)??偡峙判蛐蜉敵鰊); printf(3.按學(xué)學(xué)校男總分排排序輸出nn); printf(4.按學(xué)學(xué)校女總分排排序輸出nn); printf(5.查詢詢某個學(xué)校成成績n); printf(6.
12、查詢詢某個項目成成績n); printf(7.結(jié)束束nn); scanf(%d,&z); if(z=11)biannhao(); if(z=22)zonggfen(); if(z=33)maleezf(); if(z=44)femaalezf(); if(z=55)cxscch(); if(z=66)cxxmm(); if(z=77)breaak; int maiin() /主函數(shù) input(); solve(); return 0; #includde #includde #includde #includdeusing nnamesppace sstd; int n; /n個學(xué)學(xué)校 in
13、t m; /m個男男子項目 int w; /w個女女子項目 struct pro /表示項目目的結(jié)構(gòu)體 string name; /項目目名稱 int snuum6; /前55名學(xué)校的編編號 p21; struct schoool /表表示學(xué)校的結(jié)結(jié)構(gòu)體 int numm; string name; /學(xué)校校名稱 int scoore; /學(xué)??偡址?int malle; /男子總分 int femmale; /女子總總分 sch211; int inttegrall5=7,5,33,2,1;/前五五名得分 void innput() int i,jj,y,x; printf(輸入學(xué)校校數(shù)目:
14、); y=0; while(11) scanf(%d,&n); if(n=11&n=20)y=1; if(y)brreak; else prrintf(輸入數(shù)據(jù)據(jù)有誤,請重重新輸入:); for(i=11;i=nn;i+) printf(輸入第%d個學(xué)校的的名稱:,i); scanf(%s,&schii.namme); schi.scoree=0; schi.femalle=0; schi.male=0; schi.num=ii; printf(輸入男子子項目數(shù)和女女子項目數(shù):); y=0; while(11) scanf(%d%d,&m,&w); if(m=1&ww=11)y=1; if(y
15、)brreak; else prrintf(輸入數(shù)據(jù)據(jù)有誤,請重重新輸入:); for(i=11;i=mm+w;i+) printf(輸入第%d個項目的的名稱:nn,i); scanf(%s,& e); printf(輸入第%d個項目的的前5名的學(xué)學(xué)校編號:n,i); for(j=11;j=11&x=20)y=1; if(y)brreak; else prrintf(輸入數(shù)據(jù)據(jù)有誤,請重重新輸入:); pi.snnumj=x; schx.scoree+=inttegrallj-1; if(i=mm)schx.maale+=iintegrralj-1; else scchx.fem
16、alle+=inntegraalj-11; void prrint(iint i) printf(%d%dd%s%d%d%d%dd%d%d,schi.nuum,settw(10),schi.naame,seetw(8),schi.sccore,ssetw(99) ,schi.malee,setww(10),schii.femmale); void biianhaoo() /按編號排序序 int i,jj; school t; for(i=11;in;i+) for(j=ii;jschhj.nnum) t=schi;scchi=schjj;schhj=tt; printf(n按編編號排列:n);
17、 printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總總分n); for(i=11;i=nn;i+) print(ii); void zoongfenn() /按學(xué)??偡址峙判?int i,jj; school t; for(i=11;in;i+) for(j=ii;j=nn;j+) if(schi.sccoresschj.scorre) t=schi;scchi=schjj;schhj=tt; printf(n按學(xué)學(xué)校總分排列列:n); printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總總分n); for(i=11;i=nn;i+) print(ii); ofstreaam f
18、ouut;fout.oppen(運運動會分?jǐn)?shù)統(tǒng)統(tǒng)計.txtt); fout編號 學(xué)校校名稱 總分分 男子總分分 女子總分分enndl;for(i=11;i=nn;i+) foutschii.nummsettw(13)schhi.nnamesetw(8)sschi.scorreseetw(9) schii.malleseetw(100)scchi.femalleenndl; fout.cllose(); void maalezf() /按按學(xué)校男總分分排序 int i,jj; school t; for(i=11;in;i+) for(j=ii;j=nn;j+) if(schi.maalescc
19、hj.male) t=schi;scchi=schjj;schhj=tt; printf(n按學(xué)學(xué)校男子總分分排列:nn); printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總總分n); for(i=11;i=nn;i+) print(ii); void feemalezzf() /按學(xué)校女女總分排序 int i,jj; school t; for(i=11;in;i+) for(j=ii;j=nn;j+) if(schi.feemaleschjj.femmale) t=schi;scchi=schjj;schhj=tt; printf(n按學(xué)學(xué)校女子總分分排列:nn); printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總總分n); for(i=11;i=11&s=n)y=11; if(y)brreak; else prrintf(輸入數(shù)據(jù)據(jù)有誤,請重重新輸入:); printf(該學(xué)校相相關(guān)信息:n); printf(編號 學(xué)學(xué)校名稱 總總分 男子總總分 女子總
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026人教版三年級語文上期測試卷
- 2025-2026五年級信息技術(shù)廣東期末考
- 腸狹窄術(shù)后狹窄復(fù)發(fā)的預(yù)防策略
- 酒店賓館衛(wèi)生間管理制度
- 理發(fā)店衛(wèi)生監(jiān)督管理制度
- 衛(wèi)生間會員制度
- 旅店衛(wèi)生間管理制度
- 政府值班室衛(wèi)生制度
- 企業(yè)停車場衛(wèi)生管理制度
- 陜西省村衛(wèi)生室管理制度
- 2026年1月浙江省高考(首考)地理試題(含答案)
- 職高信息技術(shù)題目及答案
- 2026年各地高三語文1月聯(lián)考文言文匯編(文言詳解+挖空)
- 冰箱安裝施工方案
- 2026元旦主題班會:馬年猜猜樂猜成語 (共130題)【課件】
- 給醫(yī)生感謝信又短又好(5篇)
- 濕疹 (中醫(yī)院皮膚科)
- 實驗室儀器設(shè)備驗收單
- 智能照明系統(tǒng)調(diào)試記錄
- 關(guān)于若干歷史問題的決議(1945年)
- 畢業(yè)論文8000字【6篇】
評論
0/150
提交評論