C語言運(yùn)動會計分程序編寫_第1頁
C語言運(yùn)動會計分程序編寫_第2頁
C語言運(yùn)動會計分程序編寫_第3頁
C語言運(yùn)動會計分程序編寫_第4頁
C語言運(yùn)動會計分程序編寫_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.:.;義務(wù):參與運(yùn)動會有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é)??偡帧⒛信畧F(tuán)體總分排序輸出;4).可以按學(xué)校編號查詢學(xué)校某個工程的情況;可以按工程編號查詢獲得前三或前五名的學(xué)校。 規(guī)定:輸入數(shù)據(jù)方式和范圍:20以內(nèi)的整數(shù)假設(shè)做得更好可以輸入學(xué)校的稱號,運(yùn)開工程的稱號輸出方式

2、:有中文提示,各學(xué)校分?jǐn)?shù)為整形界面要求:有合理的提示,每個功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。存儲構(gòu)造:學(xué)生本人根據(jù)系統(tǒng)功能要求本人設(shè)計,但是要求運(yùn)動會的相關(guān)數(shù)據(jù)要存儲在數(shù)據(jù)文件中。數(shù)據(jù)文件的數(shù)據(jù)讀寫方法等相關(guān)內(nèi)容在c言語程序設(shè)計的書上,請自學(xué)處理請在最后的上交資料中指明他用到的存儲構(gòu)造;測試數(shù)據(jù):要求運(yùn)用1、全部合法數(shù)據(jù);2、整體非法數(shù)據(jù);3、部分非法數(shù)據(jù)。進(jìn)展程序測試,以保證程序的穩(wěn)定。測試數(shù)據(jù)及測試結(jié)果請在上交的資料中寫明;#include #include #include #includeusing namespace std; int n,m,w;struct pr

3、o /表示工程的構(gòu)造體 string name; /工程稱號 int snum6; /前5名學(xué)校的編號 p21; struct school /表示學(xué)校的構(gòu)造體 int num; string name; /學(xué)校稱號 int score; /學(xué)校總分 int male; /男子總分 int female; /女子總分 sch21; int integral15=7,5,3,2,1;/前五名得分int integral23=5,3,2;/前三名得分 void input() int i,j,y,x; printf(輸入學(xué)校數(shù)目:); y=0; scanf(%d,&n); if(n=1&n=20)

4、y=1; if(y)break; elseprintf(輸入數(shù)據(jù)有誤,請重新輸入:); for(i=1;i=n;i+) printf(輸入第%d個學(xué)校的稱號:,i); scanf(%s,&); schi.score=0; schi.female=0; schi.male=0; schi.num=i; printf(輸入男子工程數(shù)和女子工程數(shù):); y=0; scanf(%d%d,&m,&w); if(m=1&w=1)y=1; if(y)break; else printf(輸入數(shù)據(jù)有誤,請重新輸入:); for(i=1;i=m+w;i+) printf(輸入第%d個工程的稱號

5、:n,i); scanf(%s,& ); printf(輸入第%d個工程的前5名的學(xué)校編號:n,i); for(j=1;j=1&x=20)y=1; if(y)break; else printf(輸入數(shù)據(jù)有誤,請重新輸入:); pi.snumj=x; schx.score+=integralj-1; if(i=m)schx.male+=integralj-1; else schx.female+=integralj-1; void print(int i) printf(%d%d%s%d%d%d%d%d%d,schi.num,setw(10),,setw(8),

6、schi.score,setw(9) ,schi.male,setw(10),schi.female); void bianhao() /按編號排序 int i,j; school t; for(i=1;in;i+) for(j=i;jschj.num) t=schi;schi=schj;schj=t; printf(n按編號陳列:n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=n;i+) print(i); void zongfen() /按學(xué)校總分排序 int i,j; school t; for(i=1;in;i+) for(j=i;j=n;j+

7、) if(schi.scoreschj.score) t=schi;schi=schj;schj=t; printf(n按學(xué)校總分陳列:n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=n;i+) print(i); ofstream fout;fout.open(運(yùn)動會分?jǐn)?shù)統(tǒng)計.txt); fout編號 學(xué)校稱號 總分 男子總分 女子總分endl;for(i=1;i=n;i+) foutschi.numsetw(13)setw(8)schi.scoresetw(9) schi.malesetw(10)schi.femaleendl;

8、fout.close(); void malezf() /按學(xué)校男總分排序 int i,j; school t; for(i=1;in;i+) for(j=i;j=n;j+) if(schi.maleschj.male) t=schi;schi=schj;schj=t; printf(n按學(xué)校男子總分陳列:n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=n;i+) print(i); void femalezf() /按學(xué)校女總分排序 int i,j; school t; for(i=1;in;i+) for(j=i;j=n;j+) if(schi.f

9、emaleschj.female) t=schi;schi=schj;schj=t; printf(n按學(xué)校女子總分陳列:n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=1&s=n)y=1; if(y)break; else printf(輸入數(shù)據(jù)有誤,請重新輸入:); printf(該學(xué)校相關(guān)信息:n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=1&s=n)y=1; if(y)break; else printf(輸入數(shù)據(jù)有誤,請重新輸入:); printf(%s前5名學(xué)校編號及稱號為n,);

10、printf(名次 編號 學(xué)校稱號n); for(i=1;i=5;i+) printf( %d %d%d%sn,i,ps.snumi,setw(12),sch ps.snumi .name); printf(n); void solve() /菜單函數(shù) int z; while(1) printf(n選擇您需求的操作(選擇序號):n); printf(1.按學(xué)校編號排序輸出n); printf(2.按學(xué)??偡峙判蜉敵鰊); printf(3.按學(xué)校男總分排序輸出n); printf(4.按學(xué)校女總分排序輸出n); printf(5.查詢某個學(xué)校成果n); printf(6.查詢某個工程成果n)

11、; printf(7.終了nn); scanf(%d,&z); if(z=1)bianhao(); if(z=2)zongfen(); if(z=3)malezf(); if(z=4)femalezf(); if(z=5)cxsch(); if(z=6)cxxm(); if(z=7)break; int main() /主函數(shù) input(); solve(); return 0; #include #include #include #includeusing namespace std; int n; /n個學(xué)校 int m; /m個男子工程 int w; /w個女子工程 struct p

12、ro /表示工程的構(gòu)造體 string name; /工程稱號 int snum6; /前5名學(xué)校的編號 p21; struct school /表示學(xué)校的構(gòu)造體 int num; string name; /學(xué)校稱號 int score; /學(xué)??偡?int male; /男子總分 int female; /女子總分 sch21; int integral5=7,5,3,2,1;/前五名得分 void input() int i,j,y,x; printf(輸入學(xué)校數(shù)目:); y=0; while(1) scanf(%d,&n); if(n=1&n=20)y=1; if(y)break; e

13、lse printf(輸入數(shù)據(jù)有誤,請重新輸入:); for(i=1;i=n;i+) printf(輸入第%d個學(xué)校的稱號:,i); scanf(%s,&); schi.score=0; schi.female=0; schi.male=0; schi.num=i; printf(輸入男子工程數(shù)和女子工程數(shù):); y=0; while(1) scanf(%d%d,&m,&w); if(m=1&w=1)y=1; if(y)break; else printf(輸入數(shù)據(jù)有誤,請重新輸入:); for(i=1;i=m+w;i+) printf(輸入第%d個工程的稱號:n,i); s

14、canf(%s,& ); printf(輸入第%d個工程的前5名的學(xué)校編號:n,i); for(j=1;j=1&x=20)y=1; if(y)break; else printf(輸入數(shù)據(jù)有誤,請重新輸入:); pi.snumj=x; schx.score+=integralj-1; if(i=m)schx.male+=integralj-1; else schx.female+=integralj-1; void print(int i) printf(%d%d%s%d%d%d%d%d%d,schi.num,setw(10),,setw(8),schi.sco

15、re,setw(9) ,schi.male,setw(10),schi.female); void bianhao() /按編號排序 int i,j; school t; for(i=1;in;i+) for(j=i;jschj.num) t=schi;schi=schj;schj=t; printf(n按編號陳列:n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=n;i+) print(i); void zongfen() /按學(xué)校總分排序 int i,j; school t; for(i=1;in;i+) for(j=i;j=n;j+) if(sch

16、i.scoreschj.score) t=schi;schi=schj;schj=t; printf(n按學(xué)??偡株惲?n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=n;i+) print(i); ofstream fout;fout.open(運(yùn)動會分?jǐn)?shù)統(tǒng)計.txt); fout編號 學(xué)校稱號 總分 男子總分 女子總分endl;for(i=1;i=n;i+) foutschi.numsetw(13)setw(8)schi.scoresetw(9) schi.malesetw(10)schi.femaleendl; fout.clo

17、se(); void malezf() /按學(xué)校男總分排序 int i,j; school t; for(i=1;in;i+) for(j=i;j=n;j+) if(schi.maleschj.male) t=schi;schi=schj;schj=t; printf(n按學(xué)校男子總分陳列:n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=n;i+) print(i); void femalezf() /按學(xué)校女總分排序 int i,j; school t; for(i=1;in;i+) for(j=i;j=n;j+) if(schi.femalesch

18、j.female) t=schi;schi=schj;schj=t; printf(n按學(xué)校女子總分陳列:n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=1&s=n)y=1; if(y)break; else printf(輸入數(shù)據(jù)有誤,請重新輸入:); printf(該學(xué)校相關(guān)信息:n); printf(編號 學(xué)校稱號 總分 男子總分 女子總分n); for(i=1;i=1&s=n)y=1; if(y)break; else printf(輸入數(shù)據(jù)有誤,請重新輸入:); printf(%s前5名學(xué)校編號及稱號為n,); printf(名次 編號 學(xué)校稱號n); for(i=1;i=5;i+) printf( %d %d%d%sn,i,ps.snumi,setw(12),sch ps.snumi .name); printf(n); void solve() /菜單函數(shù) int z; while(1) printf(n選擇您需求的操作(選擇序號):n); printf(1.按學(xué)校編號排序輸出n); printf

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。