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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、任務:參加運動會有 n 個學校,學校編號為 1n。比賽分成m個男子項目,和w個女子項目。項目編號為男子 1 m,女子m+1 m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1 ,前三名的積分分別為:5、3、2;哪些取前五 名或前三名由學生自己設定。 (m<=20,n<=20)功能要求:1).可以輸入各個項目的前三名或前五名的成績;2)能統(tǒng)計各學??偡?3)可以按學校編號、學??偡?、男女團體總分排序輸出;4).可以按學校編號查詢學校某個項目的情況;可以按項目編號查詢取 得前三或前五名的學校。規(guī)定:輸入數據形式和范圍: 20 以內的整數(如果做得更好可以輸

2、入 學校的名稱,運動項目的名稱)輸出形式:有中文提示,各學校分數為整形界面要求:有合理的提示,每個功能可以設立菜單,根據提示,可以 完成相關的功能要求。存儲結構:學生自己根據系統(tǒng)功能要求自己設計,但是要求運動會的 相關數據要存儲在數據文件中。 (數據文件的數據讀寫方法等相關內容在 c 語言 程序設計的書上,請自學解決)請在最后的上交資料中指明你用到的存儲結構; 測試數據:要求使用 1 、全部合法數據; 2 、整體非法數據; 3、局部非法 數據。進行程序測試, 以保證程序的穩(wěn)定。 測試數據及測試結果請在上交的資料 中寫明;#include<stdio.h> #include<s

3、tring>#include<iomanip> #include<fstream>usingnamespacestd;intn,m,w;structpro/ 表示項目的結構體stringname;/ 項目名稱intsnum6;/ 前 5 名學校的編號p21;structschool/ 表示學校的結構體intnum;stringname;/ 學校名稱intscore;/ 學校總分intmale;/ 男子總分intfemale;/ 女子總分sch21;intintegral15=7,5,3,2,1;/ 前五名得分 intintegral23=5,3,2;/ 前三名得分

4、 voidinput()inti,j,y,x;printf(" 輸入學校數目 :");y=0;scanf("%d",&n);if(n>=1&&n<=20)y=1;if(y)break;elseprintf(" 輸入數據有誤,請重新輸入 :");for(i=1;i<=n;i+)printf(" 輸入第 %d 個學校的名稱 :",i);scanf("%s",&);schi.score=0;schi.female=0;schi.mal

5、e=0;schi.num=i;printf(" 輸入男子項目數和女子項目數 :");y=0;scanf("%d%d",&m,&w); if(m<=20&&m>=1&&w<=20&&w>=1)y=1; if(y)break;elseprintf(" 輸入數據有誤,請重新輸入 :");for(i=1;i<=m+w;i+)printf(" 輸入第 %d 個項目的名稱 :n",i); scanf("%s",&a

6、mp;);printf(" 輸入第 %d 個項目的前 5 名的學校編號 :n",i);for( j=1;j<=5;j+)y=0;while(1)scanf("%d",&x);if(x>=1&&x<=20)y=1;if(y)break;elseprintf(" 輸入數據有誤,請重新輸入 :");pi.snumj=x;schx.score+=integralj-1;if(i<=m)schx.male+=integral j-1;elseschx.female+=integral

7、j-1;voidprint(inti)printf("%d%d%s%d%d%d%d%d%d",schi.num,setw(10),,setw(8),schi. score,setw(9),schi.male,setw(10),schi.female);voidbianhao()/ 按編號排序inti,j;n");n");for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.num>schj.num)t=schi;schi=schj;schj=t;printf("n 按編號排列 :n&

8、quot;);printf(" 編號學校名稱總分男子總分女子總分for(i=1;i<=n;i+)print(i);voidzongfen()/ 按學校總分排序inti,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.score<schj.score)t=schi;schi=schj;schj=t;printf("n 按學??偡峙帕?:n");printf(" 編號學校名稱總分男子總分女子總分for(i=1;i<=n;i+)print(i);ofstreamfout;fout

9、.open(" 運動會分數統(tǒng)計 .txt");fout<<" 編號學校名稱總分男子總分女子總分 "<<endl;for(i=1;i<=n;i+)fout<<schi.num<<setw(13)<<<<setw(8)<<schi.score<<setw(9)<<schi.male<<setw(10)<<schi.female<<endl;fout.close();voidmalezf()/

10、按學校男總分排序inti,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.male<schj.male)t=schi;schi=schj;schj=t;printf("n 按學校男子總分排列 :n");printf(" 編號學校名稱總分男子總分女子總分 n");for(i=1;i<=n;i+)print(i);voidfemalezf()/ 按學校女總分排序inti,j;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.female<

11、;sch j.female)t=schi;schi=schj;schj=t;printf("n 按學校女子總分排列 :n");n");printf(" 編號學校名稱總分男子總分女子總分for(i=1;i<=n;i+)print(i);printf("n");voidcxsch()/ 查詢學校信息inti,y,s;printf(" 輸入需要查詢的學校編號 :");y=0;while(1)scanf("%d",&s);if(s>=1&&s<=n)y=1;if

12、(y)break;elseprintf(" 輸入數據有誤,請重新輸入 :");printf(" 該學校相關信息 :n");printf(" 編號學校名稱總分男子總分女子總分 n");for(i=1;i<=n;i+) if(schi.num=s)print(i);break;printf("n");voidcxxm()/ 查詢項目信息inti,y,s;printf(" 輸入需要查詢的項目編號 :");y=0;while(1) scanf("%d",&s);if(s

13、>=1&&s<=n)y=1;if(y)break;elseprintf(" 輸入數據有誤,請重新輸入 :");printf("%s 前 5 名學校編號及名稱為 n",); printf(" 名次編號學校名稱 n");for(i=1;i<=5;i+) printf("%d%d%d%sn",i,ps.snumi,setw(12),);printf("n");voidsolve()/ 菜單函數intz;while(1)pr

14、intf("n 選擇您需要的操作 ( 選擇序號 ):n");printf("1. 按學校編號排序輸出 n");printf("2. 按學??偡峙判蜉敵?n");printf("3. 按學校男總分排序輸出 n");printf("4. 按學校女總分排序輸出 n");printf("5. 查詢某個學校成績 n");printf("6. 查詢某個項目成績 n");printf("7. 結束 nn");scanf("%d",

15、&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;intmain()/ 主函數 input(); solve(); return0;#include<stdio.h>#include<string>#include<iomanip>#include<fstream> usingnamespacestd;intn;/n 個學校intm;/m 個男子項目intw;/w

16、 個女子項目structpro/ 表示項目的結構體stringname;/ 項目名稱 intsnum6;/ 前 5 名學校的編號 p21;structschool/ 表示學校的結構體 intnum;stringname;/ 學校名稱intscore;/ 學??偡謎ntmale;/ 男子總分intfemale;/ 女子總分sch21;intintegral5=7,5,3,2,1;/ 前五名得分voidinput()inti,j,y,x;printf(" 輸入學校數目 :");y=0;while(1)scanf("%d",&n);if(n>=1

17、&&n<=20)y=1;if(y)break;elseprintf(" 輸入數據有誤,請重新輸入 :");for(i=1;i<=n;i+)printf(" 輸入第 %d 個學校的名稱 :",i);scanf("%s",&);schi.score=0;schi.female=0;schi.male=0;schi.num=i;printf(" 輸入男子項目數和女子項目數 :");y=0;while(1)scanf("%d%d",&m,&a

18、mp;w);if(m<=20&&m>=1&&w<=20&&w>=1)y=1;if(y)break;elseprintf(" 輸入數據有誤,請重新輸入 :");for(i=1;i<=m+w;i+)printf(" 輸入第 %d 個項目的名稱 :n",i);scanf("%s",&);printf(" 輸入第 %d 個項目的前 5 名的學校編號 :n",i);for( j=1;j<=5;j+)y=0;while(1

19、)scanf("%d",&x);if(x>=1&&x<=20)y=1;if(y)break;elseprintf(" 輸入數據有誤,請重新輸入 :");pi.snumj=x;schx.score+=integralj-1;if(i<=m)schx.male+=integral j-1;elseschx.female+=integralj-1;voidprint(inti)printf("%d%d%s%d%d%d%d%d%d",schi.num,setw(10),,setw(8

20、),schi. score,setw(9),schi.male,setw(10),schi.female);voidbianhao()/ 按編號排序inti,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.num>schj.num)t=schi;schi=schj;schj=t;printf("n 按編號排列 :n");printf(" 編號學校名稱總分男子總分女子總分 n");for(i=1;i<=n;i+)print(i);voidzongfen()/ 按學??偡峙判騣nti

21、,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.score<schj.score) t=schi;schi=schj;schj=t;printf("n 按學??偡峙帕?:n");printf(" 編號學校名稱總分男子總分女子總分 n"); for(i=1;i<=n;i+)print(i);ofstreamfout;fout.open(" 運動會分數統(tǒng)計 .txt");fout<<" 編號學校名稱總分男子總分女子總分 "<

22、<endl; for(i=1;i<=n;i+)fout<<schi.num<<setw(13)<<<<setw(8)<<schi.score<<setw(9) <<schi.male<<setw(10)<<schi.female<<endl;fout.close();voidmalezf()/ 按學校男總分排序inti,j;schoolt;for(i=1;i<n;i+)n");n");for( j=i;j<=n;j

23、+) if(schi.male<schj.male)t=schi;schi=schj;schj=t;printf("n 按學校男子總分排列 :n");printf(" 編號學校名稱總分男子總分女子總分for(i=1;i<=n;i+)print(i);voidfemalezf()/ 按學校女總分排序inti,j;schoolt;for(i=1;i<n;i+)for( j=i;j<=n;j+)if(schi.female<sch j.female)t=schi;schi=schj;schj=t;printf("n 按學校女子總分

24、排列 :n");printf(" 編號學校名稱總分男子總分女子總分for(i=1;i<=n;i+)print(i);printf("n");voidcxsch()/ 查詢學校信息inti,y,s;printf(" 輸入需要查詢的學校編號 :");y=0;while(1)scanf("%d",&s);if(s>=1&&s<=n)y=1;if(y)break;elseprintf(" 輸入數據有誤,請重新輸入 :");printf(" 該學校相關信息 :n");n");printf(" 編號學校名稱總分男子總分女子總分for(i=1;i<=n;i+)if(schi.num=s)print(i);break;printf("n");voidcxxm()/ 查詢項目信息inti,y,s;printf(" 輸入需要查詢的項目編號 :

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論