數(shù)據(jù)結(jié)構(gòu)課設(shè)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)c_第1頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)c_第2頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)c_第3頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)c_第4頁
數(shù)據(jù)結(jié)構(gòu)課設(shè)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)c_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué) 號(hào) 08710211數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)設(shè)計(jì)說明書運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)起止日期: 2011年 1月 10 日 至 2011 年 1月15日學(xué)生姓名李翔班級(jí)08計(jì)算機(jī)2班成績(jī)指導(dǎo)教師(簽字) 電子與信息工程系2011年 1 月 15 日目錄一、設(shè)計(jì)目的1二、設(shè)計(jì)要求1三、設(shè)計(jì)內(nèi)容(運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)查詢系統(tǒng))1(一)需求分析1(二)概要設(shè)計(jì)2(三)詳細(xì)設(shè)計(jì)(源代碼)4(四)測(cè)試數(shù)據(jù)及運(yùn)行結(jié)果20四、運(yùn)行環(huán)境29五、參考文獻(xiàn)29一、設(shè)計(jì)目的熟悉各種數(shù)據(jù)結(jié)構(gòu)和運(yùn)算,會(huì)使用數(shù)據(jù)結(jié)構(gòu)的基本操作解決一些實(shí)際問題。二、設(shè)計(jì)要求 (1)重視課程設(shè)計(jì)環(huán)節(jié),用嚴(yán)謹(jǐn)、科學(xué)和踏實(shí)的工作態(tài)度對(duì)待課程設(shè)計(jì)的每一項(xiàng)任務(wù);(2)按照課

2、程設(shè)計(jì)的題目要求,獨(dú)立地完成各項(xiàng)任務(wù),嚴(yán)禁抄襲;凡發(fā)現(xiàn)抄襲,抄襲者與被抄襲者皆以零分計(jì)入本課程設(shè)計(jì)成績(jī)。凡發(fā)現(xiàn)實(shí)驗(yàn)報(bào)告或源程序雷同,涉及的全部人員皆以零分計(jì)入本課程設(shè)計(jì)成績(jī);(3)學(xué)生在接受設(shè)計(jì)任務(wù)后,首先要按設(shè)計(jì)任務(wù)書的要求編寫設(shè)計(jì)進(jìn)程表;(4)認(rèn)真編寫課程設(shè)計(jì)報(bào)告。三、設(shè)計(jì)內(nèi)容(運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)查詢系統(tǒng))(一)需求分析1. 在該程序中,參賽學(xué)校編號(hào)為1n(n<=20)。比賽分成m(m<=30)個(gè)男子項(xiàng)目和w(w<=20)個(gè)女子項(xiàng)目,分別編號(hào)為1m和m+1m+w,姓名長(zhǎng)度不超過20個(gè)字符;2. 輸入各個(gè)項(xiàng)目信息的詳細(xì)信息,包括項(xiàng)目號(hào),姓名,性別,學(xué)校和名次。3. 對(duì)于項(xiàng)目編號(hào)

3、可以取前五名,得分順序?yàn)?,5,3,2,1;亦可以取前三名,得分順序?yàn)?,3,2,具體怎樣取名次可以由用戶自己定義。4. 程序執(zhí)行的命令包括:1)構(gòu)造線性表的存儲(chǔ)結(jié)構(gòu)(簡(jiǎn)單一維線性表,廣義二維表)。具體包括:(1)運(yùn)動(dòng)會(huì)項(xiàng)目加初始化(2)錄入運(yùn)動(dòng)會(huì)中各學(xué)校的成績(jī)(3)計(jì)算各學(xué)校詳細(xì)成績(jī)以及排名可以將以上信息存儲(chǔ)在線性表中(一維,二維) 2)根據(jù)每個(gè)學(xué)生的名次確定相應(yīng)的得分。3)可以分別按男子團(tuán)體總分,女子團(tuán)體總分和團(tuán)體總分降序輸出各學(xué)校的成績(jī)。4)可以按學(xué)校編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的情況,也可以按項(xiàng)目編號(hào)查詢?nèi)〉们叭蚯拔迕膶W(xué)校。5)運(yùn)動(dòng)會(huì)的相關(guān)數(shù)據(jù)要可以存儲(chǔ)在數(shù)據(jù)文件中(本系統(tǒng)提供的功能可以自

4、己選擇存儲(chǔ)的文件名)。此外,本系統(tǒng)還提供往屆運(yùn)動(dòng)會(huì)成績(jī)查詢功能(磁盤文件讀?。#ǘ└乓O(shè)計(jì)1. 該程序包含兩個(gè)核心結(jié)構(gòu)體分別為:struct s/學(xué)校結(jié)構(gòu)體,用來存儲(chǔ)學(xué)校成績(jī)int bianhao; /學(xué)校的編號(hào)int balcore; /學(xué)校的男團(tuán)總分intbrank; / 學(xué)校男團(tuán)排名int galcore; /學(xué)校的女團(tuán)總分int grank; / 學(xué)校女團(tuán)排名int alscore; /學(xué)校的團(tuán)體總分int arank; /學(xué)校團(tuán)體總排名;以學(xué)校結(jié)構(gòu)體構(gòu)造一維線性表,完成以學(xué)校編號(hào)查詢,以學(xué)校團(tuán)體、男團(tuán)、女團(tuán)總分排名等操作。struct s_p/學(xué)校-項(xiàng)目對(duì)應(yīng)關(guān)系數(shù)組單元(廣義2維

5、線性表)int attend;/是否在該項(xiàng)目取得名次char sex;/該項(xiàng)目性質(zhì)'b'或'g'(冗余)int nature;/該項(xiàng)目取前幾名(冗余)int NO;/在該項(xiàng)目中排名int score;/在該項(xiàng)目中得分;學(xué)校-項(xiàng)目結(jié)構(gòu)體用來存儲(chǔ)每一個(gè)學(xué)校對(duì)應(yīng)的每項(xiàng)目的相關(guān)數(shù)據(jù),所以有必要依此構(gòu)造二維線性表,本系統(tǒng)中以aij表示i號(hào)學(xué)校j號(hào)項(xiàng)目的相關(guān)成績(jī),這樣該二維表既可以進(jìn)行以學(xué)校為單位查詢或統(tǒng)計(jì)、計(jì)算各種成績(jī),也可以以項(xiàng)目為單位查詢?cè)诒卷?xiàng)目中取得名次的學(xué)校編號(hào)(如果結(jié)合學(xué)校結(jié)構(gòu)體還可以查詢具體的信息)當(dāng)然,我本來還可以定義一個(gè)關(guān)于編號(hào)結(jié)構(gòu)體的一維線性表,但是其核

6、心思想與學(xué)校結(jié)構(gòu)體并無本質(zhì)差異,而且如果要做具體查詢,都要結(jié)合s_p學(xué)校項(xiàng)目結(jié)構(gòu)體的二維表。此外,鑒于本系統(tǒng)不涉及線性表刪除、修改的功能應(yīng)用。本著節(jié)省空間的資源原則,兩個(gè)線性表全部定義為動(dòng)態(tài),不定義最大長(zhǎng)度,在建立線性表時(shí)再根據(jù)需要確定長(zhǎng)度。(s_p *a; s *B;)2.本程序包括4個(gè)模塊:1>初始化項(xiàng)目信息(編號(hào)、取名次等情況)。2>每個(gè)項(xiàng)目中取得名次的學(xué)校統(tǒng)計(jì)。 3>根據(jù)每個(gè)學(xué)校的成績(jī)計(jì)算對(duì)應(yīng)的得分,包括總得分、男團(tuán)總分、女團(tuán)總分。4>查詢功能,用戶按學(xué)校編號(hào)查詢學(xué)校具體信息,按項(xiàng)目編號(hào)查詢,存儲(chǔ)本次運(yùn)動(dòng)會(huì)信息,以及查詢已錄入的往屆運(yùn)動(dòng)會(huì)信息(須知道準(zhǔn)確的存儲(chǔ)文

7、件的文件名)5>登錄模塊,為了數(shù)據(jù)安全,設(shè)置登錄功能(本功能尚待完善)。6>流程圖設(shè)計(jì):(附:登陸名:lixiang 密碼:5211)主函數(shù)登陸函數(shù)(用戶名、密碼)Test函數(shù)調(diào)用各級(jí)函數(shù)項(xiàng)目初始化針對(duì)項(xiàng)目的學(xué)校成績(jī)錄入入讀取往屆運(yùn)動(dòng)會(huì)成績(jī)按各種要求計(jì)算個(gè)學(xué)校分?jǐn)?shù),排名按項(xiàng)目查學(xué)校本屆成績(jī)存檔按女團(tuán)分查按男團(tuán)分查按團(tuán)體總分差按編號(hào)查按學(xué)校查項(xiàng)目 (三)詳細(xì)設(shè)計(jì)(源代碼)/08710211.hstruct s_p/學(xué)校-項(xiàng)目對(duì)應(yīng)關(guān)系數(shù)組單元(廣義2維線性表)int attend;/是否在該項(xiàng)目取得名次char sex;/該項(xiàng)目性質(zhì)'b'或'g'(冗余)

8、int nature;/該項(xiàng)目取前幾名(冗余)int NO;/在該項(xiàng)目中排名int score;/在該項(xiàng)目中得分;struct sint bianhao; /學(xué)校的編號(hào)int balcore; /學(xué)校的男團(tuán)總分intbrank; / 學(xué)校男團(tuán)排名int galcore; /學(xué)校的女團(tuán)總分int grank; / 學(xué)校女團(tuán)排名int alscore; /學(xué)校的團(tuán)體總分int arank; /學(xué)校團(tuán)體總排名;class yonghuprivate:char name100;double code;public:yonghu( char *a,double b)strcpy(name,a);code

9、=b;void chushi( char *a,double b);bool paiduan(char *a,double b);class atheletprivate:int m;/m個(gè)項(xiàng)目int b;/男子項(xiàng)目數(shù)int g;/女子項(xiàng)目數(shù)int n;/n個(gè)學(xué)校int t;/取前三名的項(xiàng)目數(shù)int *T;/記錄取前三名的項(xiàng)目編號(hào)int *F;/記錄取前五名的項(xiàng)目編號(hào)s_p *a;/定義學(xué)校項(xiàng)目廣義二維線性表(本次只在此兩個(gè)線性表實(shí)現(xiàn)文件讀寫)s *B;/定義學(xué)校一維線性表(同上)bool sf;public:void chushi( );/項(xiàng)目學(xué)校信息初始化void luruchengji(

10、);/學(xué)校成績(jī)錄入void jisuan();/學(xué)校排名計(jì)算void bianhao( );/學(xué)校按編號(hào)排名void zongcore( );/學(xué)校按總分排名void bscore();/學(xué)校按男團(tuán)總分排名void gscore();/學(xué)校那女團(tuán)總分void xuexiao_bianhao();/學(xué)校按編號(hào)查詢void xiangmu();/按項(xiàng)目查詢void W(char s);/功能函數(shù)void cun( );/存盤函數(shù)void du( );/讀盤函數(shù)void test();/綜合測(cè)試void login( );/登錄;/08710211.cpp#include<iostream&g

11、t;#include<iomanip>#include<string>#include<fstream>#include <stdlib.h>#include"08710211.h"using namespace std;void yonghu:chushi( char *a,double b)strcpy(name,a);code=b;bool yonghu:paiduan(char *a,double b)if(strcmp(a,name)=0&&b=code) return 1;else return 0

12、;void athelet:chushi( )/*1.初始化項(xiàng)目*/L:cout<<"男子項(xiàng)目數(shù):"<<endl; cin>>b;if(b<=0) cout<<"數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入!"<<endl; goto L;J:cout<<"女子項(xiàng)目數(shù):"<<endl; cin>>g;if(g<=0) cout<<"數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入!"<<endl; goto J;m=b+g;cout&l

13、t;<"學(xué)校數(shù):"<<endl;L1:cin>>n;if(n<5) cout<<"學(xué)校數(shù)據(jù)(不得少于5個(gè))錯(cuò)誤,請(qǐng)重新輸入!"<<endl; goto L1;a=new s_p *n+1;B=new sn+1;for(int i=1;i<=n;i+)ai=new s_pm+1;/*2.項(xiàng)目如何取名次的設(shè)置(取前3或前5)*/V:cout<<"請(qǐng)輸入有幾個(gè)項(xiàng)目取前三名"<<endl; cin>>t;if(t<=0|t>=m)

14、 cout<<"輸入錯(cuò)誤,請(qǐng)重新輸入!"<<endl;goto V;T=new intt+1;/用來記錄取前3名的項(xiàng)目編號(hào)F=new intm-t+1;/用來記錄取前5名的項(xiàng)目編號(hào)L2:cout<<"請(qǐng)依此輸入這"<<t<<"個(gè)項(xiàng)目的編號(hào)"<<endl;for(i=1;i<=t;i+)cin>>Ti;if(Ti<=0|Ti>=m)cout<<" 項(xiàng)目編號(hào)超出范圍,請(qǐng)充值數(shù)據(jù)!"<<endl;

15、goto L2;cout<<"取前3名項(xiàng)目編號(hào)為:"<<endl;for(i=1;i<=t;i+)cout<<Ti<<"號(hào)項(xiàng)目 "cout<<endl;cout<<"取前5名項(xiàng)目編號(hào)為:"<<endl;/輸出同時(shí)計(jì)算取前5名的項(xiàng)目的編號(hào)int k=1;for(i=1;i<=m;i+)int y=1;for(int j=1;j<=t;j+)if(i=Tj) y=0;if(y=1) Fk+=i;cout<<Fk-1<&l

16、t;"號(hào)項(xiàng)目 "cout<<endl;/*對(duì)s_p a二維數(shù)組的初始化信息,默認(rèn)情況下,nature是取前5名的*/for(i=1;i<=n;i+)for(int j=1;j<=m;j+)aij.attend=0; aij.nature=5;aij.NO=0;aij.score=0;if(j<=b)aij.sex='b'else aij.sex='g'/*符合條件情況下,則nature修改為取前3名*/for(i=1;i<=n;i+)for(int j=1;j<=m;j+)for(int h=1;h&

17、lt;=t;h+)if(j=Th)aij.nature=3;/*測(cè)試數(shù)據(jù)的函數(shù)*/for(i=1;i<=n;i+)for(int j=1;j<=m;j+)cout<<aij.nature<<aij.sex<<" "cout<<endl;cout<<"項(xiàng)目初始化完畢!"<<endl<<endl;void athelet:luruchengji()/*1.(1號(hào)功能)錄入成績(jī)功能*/*取前3名項(xiàng)目的成績(jī)*/cout<<"現(xiàn)在錄入取前三名的項(xiàng)目

18、的成績(jī):"<<endl;int one,two,three,four,five;for(int i=1;i<=t;i+)A1:cout<<Ti<<"號(hào)項(xiàng)目的第1名學(xué)校編號(hào)為"cin>>one;if(one<=0|one>n)cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto A1;/異常處理if(aoneTi.attend=1)cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto A1;/異常處理,下同aoneTi.attend=1;aoneTi.N

19、O=1;aoneTi.score=5;B1:cout<<Ti<<"號(hào)項(xiàng)目的第2名學(xué)校編號(hào)為"cin>>two;if(two<=0|two>n)cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto B1;/異常處理if(atwoTi.attend=1)cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto B1;atwoTi.attend=1;atwoTi.NO=2;atwoTi.score=3;C1:cout<<Ti<<"號(hào)項(xiàng)目的第3名學(xué)校編號(hào)為&

20、quot;cin>>three;if(three<=0|three>n)cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto C1;/異常處理 if(athreeTi.attend=1)cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto C1;athreeTi.attend=1;athreeTi.NO=3;athreeTi.score=2;/*取前5名項(xiàng)目的成績(jī)*/cout<<"現(xiàn)在錄入取前5名的項(xiàng)目的成績(jī):"<<endl;for(i=1;i<=m-t;i+)o1:cou

21、t<<Fi<<"號(hào)項(xiàng)目的第1名學(xué)校編號(hào)為"cin>>one; if(one<=0|one>n)cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto o1;/異常處理if(aoneFi.attend=1) cout<<"輸入錯(cuò)誤!請(qǐng)重新錄入"goto o1;aoneFi.attend=1;aoneFi.NO=1;aoneFi.score=7;p:cout<<Fi<<"號(hào)項(xiàng)目的第2名學(xué)校編號(hào)為" cin>>two;if(

22、two<=0|two>n) cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto p;/異常處理if(atwoFi.attend=1) cout<<"輸入錯(cuò)誤!請(qǐng)重新錄入"goto p;atwoFi.attend=1;atwoFi.NO=2;atwoFi.score=5;q:cout<<Fi<<"號(hào)項(xiàng)目的第3名學(xué)校編號(hào)為" cin>>three;if(three<=0|three>n) cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"got

23、o q;/異常處理if(athreeFi.attend=1) cout<<"輸入錯(cuò)誤!請(qǐng)重新錄入"goto q;athreeFi.attend=1;athreeFi.NO=3;athreeFi.score=3;r:cout<<Fi<<"號(hào)項(xiàng)目的第4名學(xué)校編號(hào)為" cin>>four;if(four<=0|four>n) cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto r;/異常處理if(afourFi.attend=1) cout<<"輸入錯(cuò)誤

24、!請(qǐng)重新錄入"goto r;afourFi.attend=1;afourFi.NO=4;afourFi.score=2;S:cout<<Fi<<"號(hào)項(xiàng)目的第5名學(xué)校編號(hào)為" cin>>five; if(five<=0|five>n) cout<<"輸入錯(cuò)誤,請(qǐng)重新錄入"goto S;/異常處理if(afiveFi.attend=1) cout<<"輸入錯(cuò)誤!請(qǐng)重新錄入"goto S;afiveFi.attend=1;afiveFi.NO=5;afiveF

25、i.score=1;cout<<"成績(jī)錄入完畢!"<<endl<<endl;void athelet:jisuan()/*(2號(hào)功能)統(tǒng)計(jì)各學(xué)??偡?/*學(xué)校數(shù)據(jù)初始化*/for(int i=1;i<=n;i+)Bi.bianhao=i;Bi.alscore=0;Bi.balcore=0;Bi.galcore=0;Bi.arank=Bi.brank=Bi.grank=0;int sum;/*計(jì)算學(xué)校的男團(tuán)總得分、女團(tuán)總得分、總得分*/for(i=1;i<=n;i+)sum=0;for(int j=1;j<=b;j+)su

26、m+=aij.score;Bi.balcore=sum;sum=0;for(j=b+1;j<=m;j+)sum+=aij.score;Bi.galcore=sum;Bi.alscore=Bi.balcore+Bi.galcore;/*計(jì)算學(xué)校根據(jù)男團(tuán)總得分的排名*/s temp;for(i=1;i<=n-1;i+)for(int j=i+1;j<=n;j+)if(Bi.balcore<Bj.balcore)temp=Bi;Bi=Bj;Bj=temp;for(i=1;i<=n;i+) Bi.brank=i;/*計(jì)算學(xué)校根據(jù)女團(tuán)總得分的排名*/for(i=1;i<

27、;=n-1;i+)for(int j=i+1;j<=n;j+)if(Bi.galcore<Bj.galcore)temp=Bi;Bi=Bj;Bj=temp;for(i=1;i<=n;i+) Bi.grank=i;/*計(jì)算學(xué)校根據(jù)總得分的排名*/for(i=1;i<=n-1;i+)for(int j=i+1;j<=n;j+)if(Bi.alscore<Bj.alscore)temp=Bi;Bi=Bj;Bj=temp;for(i=1;i<=n;i+) Bi.arank=i;cout<<"個(gè)學(xué)校積分、排名計(jì)算完畢!"<&

28、lt;endl<<endl;void athelet:bianhao( )/*可以查詢?nèi)我饩幪?hào)學(xué)校的總分、男團(tuán)總分、女團(tuán)總分*/*按編號(hào)排序輸出學(xué)校的總分、男團(tuán)總分、女團(tuán)總分*/for(int i=1;i<=n-1;i+)for(int j=i+1;j<=n;j+)if(Bi.bianhao>Bj.bianhao)s temp=Bi;Bi=Bj;Bj=temp;/*按編號(hào)輸出成績(jī)*/cout<<"按編號(hào)輸出:"<<endl;cout<<"學(xué)編號(hào)"<<setw(10)<&l

29、t;"團(tuán)總分"<<setw(10)<<"團(tuán)排名"<<setw(10)<<"男總分"<<setw(10)<<"男團(tuán)排"<<setw(10)<<"女團(tuán)總分"<<setw(10)<<"女團(tuán)排"<<endl;for(i=1;i<=n;i+)for(int j=1;j<=n;j+)if(Bj.bianhao=i)cout<<Bj.b

30、ianhao<<setw(10)<<Bj.alscore<<setw(10)<<Bj.arank<<setw(10)<<Bj.balcore<<setw(10)<<Bj.brank<<setw(10)<<Bj.galcore<<setw(10)<<Bj.grank<<endl;cout<<"按編號(hào)輸出完畢!"<<endl<<endl;void athelet:zongcore( )/*

31、按總得分排名輸出成績(jī)*/*按團(tuán)總分排序輸出學(xué)校的總分、男團(tuán)總分、女團(tuán)總分*/cout<<"按總得分排名輸出:"<<endl;cout<<"學(xué)編號(hào)"<<setw(10)<<"團(tuán)總分"<<setw(10)<<"團(tuán)排名"<<setw(10)<<"男總分"<<setw(10)<<"男團(tuán)排"<<setw(10)<<"女團(tuán)總

32、分"<<setw(10)<<"女團(tuán)排"<<endl;for(int i=1;i<=n;i+)for(int j=1;j<=n;j+)if(Bj.arank=i)cout<<Bj.bianhao<<setw(10)<<Bj.alscore<<setw(10)<<Bj.arank<<setw(10)<<Bj.balcore<<setw(10)<<Bj.brank<<setw(10)<<Bj.

33、galcore<<setw(10)<<Bj.grank<<endl;cout<<"按團(tuán)體總分排名書輸出完畢!"<<endl<<endl;void athelet:bscore()/*按男團(tuán)總分排序輸出學(xué)校的總分、男團(tuán)總分、女團(tuán)總分*/cout<<"男排名"<<endl;cout<<"學(xué)編號(hào)"<<setw(10)<<"團(tuán)總分"<<setw(10)<<"團(tuán)

34、排名"<<setw(10)<<"男總分"<<setw(10)<<"男團(tuán)排"<<setw(10)<<"女團(tuán)總分"<<setw(10)<<"女團(tuán)排"<<endl;for(int i=1;i<=n;i+)for(int j=1;j<=n;j+)if(Bj.brank=i)cout<<Bj.bianhao<<setw(10)<<Bj.alscore<&l

35、t;setw(10)<<Bj.arank<<setw(10)<<Bj.balcore<<setw(10)<<Bj.brank<<setw(10)<<Bj.galcore<<setw(10)<<Bj.grank<<endl;cout<<"按男子團(tuán)體總分排名輸出完畢!"<<endl<<endl;void athelet:gscore()/*按女團(tuán)總分排序輸出學(xué)校的總分、男團(tuán)總分、女團(tuán)總分*/cout<<"

36、;女排名"<<endl;cout<<"學(xué)編號(hào)"<<setw(10)<<"團(tuán)總分"<<setw(10)<<"團(tuán)排名"<<setw(10)<<"男總分"<<setw(10)<<"男團(tuán)排"<<setw(10)<<"女團(tuán)總分"<<setw(10)<<"女團(tuán)排"<<endl;fo

37、r(int i=1;i<=n;i+)for(int j=1;j<=n;j+)if(Bj.grank=i)cout<<Bj.bianhao<<setw(10)<<Bj.alscore<<setw(10)<<Bj.arank<<setw(10)<<Bj.balcore<<setw(10)<<Bj.brank<<setw(10)<<Bj.galcore<<setw(10)<<Bj.grank<<endl;cout<&

38、lt;"按女子團(tuán)體總分排名輸出完畢!"<<endl<<endl;void athelet:xuexiao_bianhao()/*(4號(hào)功能)按學(xué)校編號(hào)查詢學(xué)校某個(gè)項(xiàng)目的情況*/int M,N;E:cout<<"請(qǐng)輸入學(xué)校編號(hào)"<<endl;cin>>M;if(M<=0|M>n) cout<<"輸入學(xué)校編號(hào)錯(cuò)誤!,請(qǐng)重新輸入!"<<endl;goto E;U:cout<<"請(qǐng)輸入"<<M<&l

39、t;"號(hào)學(xué)校的項(xiàng)目"<<endl;cin>>N;if(N<=0|N>m) cout<<"輸入項(xiàng)目編號(hào)錯(cuò)誤!,請(qǐng)重新輸入!"<<endl;goto U;cout<<M<<"號(hào)學(xué)校"<<N<<"號(hào)項(xiàng)目的具體信息如下"<<endl;cout<<"學(xué)校號(hào)"<<setw(10)<<"項(xiàng)目號(hào)"<<setw(10)<&

40、lt;" 性質(zhì)(g/b)"<<setw(10)<<" 是否取得名次(1/0)"<<setw(10)<<"取得名次"<<setw(10)<<"該項(xiàng)得分"<<endl;cout<<M<<setw(10)<<N<<setw(10)<<aMN.sex<<setw(10)<<aMN.attend<<setw(10)<<aMN.NO<

41、;<setw(10)<<aMN.score<<endl;cout<<"按學(xué)校查詢完畢!"<<endl<<endl;void athelet:xiangmu()/*(最后的功能,5號(hào)功能)按項(xiàng)目編號(hào)查詢?nèi)〉们叭蚯拔迕膶W(xué)校*/HH:cout<<"請(qǐng)輸入要查詢的項(xiàng)目號(hào)"<<endl;int N;cin>>N;if(N<=0|N>m) cout<<"輸入項(xiàng)目編號(hào)錯(cuò)誤!,請(qǐng)重新輸入!"<<endl;got

42、o HH;cout<<"學(xué)校編號(hào)"<<setw(18)<<"名次"<<setw(18)<<"分?jǐn)?shù)"<<endl;for(int i=1;i<=n;i+)if(aiN.attend=1)cout<<i<<setw(18)<<aiN.NO<<setw(18)<<aiN.score<<endl;cout<<"按項(xiàng)目查詢完畢!"<<endl<&l

43、t;endl;void athelet:W(char s)cout<<"請(qǐng)按任意字符繼續(xù)."<<endl;cin>>s;cout<<endl;void athelet:cun( )char name100;char name1100;cout<<"請(qǐng)輸入存檔文件的文件名!"<<endl;cin>>name;strcpy(name1,name);/*一維線性表存入磁盤*/strcat(name,".txt");ofstream outfile,outfi

44、le1;/定義輸出流對(duì)象outfile.open(name,ios:out);/以輸出形式打開if(!outfile)cerr<<"open file error!"<<endl;abort ( );outfile.write(char *)&n,sizeof(n);/n(學(xué)校數(shù))存入文檔for(int i=1;i<=n;i+)outfile.write(char *)&Bi,sizeof(s);outfile.close();/*二維線性表存入磁盤*/strcat(name1,".bat");outfile

45、1.open(name1,ios:out);if(!outfile1)cerr<<"open file error!"<<endl;abort ( );outfile1.write(char *)&m,sizeof(m);for( i=1;i<=n;i+)for(int j=1;j<=m;j+)outfile1.write(char *)&aij,sizeof(s_p);outfile1.close();cout<<"存儲(chǔ)完畢!"<<endl;void athelet:du( )

46、sf=1;int t=0;char q100;char q1100;ss:if(t=5) cout<<"對(duì)不起,您的操作過多,必須強(qiáng)制退出!"<<endl;sf=0;return ;cout<<"請(qǐng)輸入您要查詢的運(yùn)動(dòng)會(huì)存檔文件名(輸入0放棄查詢)."<<endl;cin>>q;strcpy(q1,q);/*一維線性表從磁盤讀取*/strcat(q,".txt");ifstream infile;/定義輸入流對(duì)象infile.open(q,ios:in);/以輸入形式打開磁盤文

47、件發(fā)txtif(!infile)cerr<<"文件未找到!請(qǐng)重新輸入文件名"<<endl;goto ss;t+;/infile.read(char *)&m,sizeof(m);/m(項(xiàng)目數(shù))從文件中取infile.read(char *)&n,sizeof(n);/n(學(xué)校數(shù))從文檔中取B=new sn+1;for(int i=1;i<=n;i+)infile.read(char *)&Bi,sizeof(s);infile.close( );/*二維線性表從磁盤讀取*/strcat(q1,".bat&quo

48、t;);ifstream infile1;infile1.open(q1,ios:in);if(!infile1)cerr<<"學(xué)校項(xiàng)目文件已丟失或已損壞!請(qǐng)重新輸入文件名"<<endl;goto ss;infile1.read(char *)&m,sizeof(m);/m(項(xiàng)目數(shù))從文件中取a=new s_p *n+1;for( i=1;i<=n;i+)ai=new s_pm+1;for( i=1;i<=n;i+)for(int j=1;j<=m;j+)infile1.read(char *)&aij,sizeof

49、(s_p);infile1.close();cout<<"你要查詢的運(yùn)動(dòng)會(huì)成績(jī)已成功打開!"<<endl;void athelet:test( )char I='1'int H3=0,0,0;while(I!='0')cout<<"nt 運(yùn)動(dòng)會(huì)成績(jī)統(tǒng)計(jì)系統(tǒng)"<<endl;cout<<"t 主菜單t"<<endl;cout<<"*"<<endl;cout<<"t 1、運(yùn)

50、動(dòng)會(huì)項(xiàng)目加初始化t"<<endl;cout<<"t 2、錄入運(yùn)動(dòng)會(huì)中各學(xué)校的成績(jī)t"<<endl;cout<<"t 3、計(jì)算個(gè)學(xué)校詳細(xì)成績(jī)以及排名t"<<endl;cout<<"t 4、按編號(hào)輸出各學(xué)校成績(jī)t"<<endl;cout<<"t 5、按團(tuán)體總得分排名輸出各學(xué)校成績(jī)t"<<endl;cout<<"t 6、按男子團(tuán)體總得分排名輸出各學(xué)校成績(jī)t"<<

51、endl;cout<<"t 7、按女子團(tuán)體總得分排名輸出各學(xué)校成績(jī)t"<<endl;cout<<"t 8、查詢某一學(xué)校某一項(xiàng)目的成績(jī)t"<<endl;cout<<"t 9、按項(xiàng)目編號(hào)查詢?cè)擁?xiàng)目詳細(xì)信息t"<<endl;cout<<"t A、本屆運(yùn)動(dòng)會(huì)成績(jī)存檔t"<<endl;cout<<"t B、讀取上屆運(yùn)動(dòng)會(huì)成績(jī)存檔t"<<endl;cout<<"t 0

52、、退出t"<<endl;cout<<"*"<<endl;cout<<"請(qǐng)輸入你的選擇:(0-5)"<<endl;cin>>I;char P;switch(I)case '1':if(H0=1) cout<<"初始化已完成,若想重置數(shù)據(jù),請(qǐng)重新登錄該系統(tǒng)!"<<endl;else chushi( );H0=1;W( P);break;case '2':if(H0=1&&H1!=1) l

53、uruchengji( );H1=1;else cout<<" 本操作無法執(zhí)行,請(qǐng)先執(zhí)行項(xiàng)目初始化!"<<endl;W( P);break;case '3':if(H1=1) jisuan( );H2=1;else cout<<" 本操作無法執(zhí)行,請(qǐng)先執(zhí)行項(xiàng)目初始化與成績(jī)錄入!"<<endl;W( P);break;case '4':if(H2=1) bianhao( );else cout<<" 本操作無法執(zhí)行,請(qǐng)先執(zhí)行項(xiàng)目初始化、成績(jī)錄入與計(jì)算學(xué)校排

54、名!"<<endl;W( P);break; case '5':if(H2=1) zongcore( );else cout<<" 本操作無法執(zhí)行,請(qǐng)先執(zhí)行項(xiàng)目初始化、成績(jī)錄入與計(jì)算學(xué)校排名!"<<endl;W( P);break;case '6':if(H2=1) bscore( );else cout<<" 本操作無法執(zhí)行,請(qǐng)先執(zhí)行項(xiàng)目初始化、成績(jī)錄入與計(jì)算學(xué)校排名!"<<endl;W( P);break;case '7':if(H2

55、=1) gscore( );else cout<<" 本操作無法執(zhí)行,請(qǐng)先執(zhí)行項(xiàng)目初始化、成績(jī)錄入與計(jì)算學(xué)校排名!"<<endl;W( P);break;case '8':if(H2=1) xuexiao_bianhao( );else cout<<" 本操作無法執(zhí)行,請(qǐng)先執(zhí)行項(xiàng)目初始化、成績(jī)錄入與計(jì)算學(xué)校排名!"<<endl;W( P);break;case '9':if(H2=1) xiangmu( );else cout<<" 本操作無法執(zhí)行,請(qǐng)先執(zhí)行項(xiàng)目初始化、成績(jī)錄入與計(jì)算學(xué)校排名!"<<endl;W( P);break;/* */case 'A':if(H2=1) cun( );else cout<<" 本操作無法執(zhí)行,請(qǐng)先執(zhí)行項(xiàng)目初始化、成績(jī)錄入與計(jì)算學(xué)校排名!"<<endl;W( P);break;case 'B': du( ); if

溫馨提示

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

評(píng)論

0/150

提交評(píng)論