




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、足球聯(lián)賽積分1.需求和規(guī)格說明 1.1問題描述:足球聯(lián)賽采用主客場雙循環(huán)賽制,勝一場得3分,平局各得1分,負(fù)一場得0分,聯(lián)賽排名以積分多者在前,當(dāng)兩隊(duì)(或多隊(duì))積分相同時(shí),則凈勝球(即進(jìn)球數(shù)與失球數(shù)之差)多者在前,若凈勝球相同,則進(jìn)球數(shù)多者在前,若仍相同,則抽簽或踢附加賽決定名次(這在聯(lián)賽結(jié)束后進(jìn)行,聯(lián)賽未結(jié)束則兩隊(duì)名次并列,本程序不做這方面要求)。試編一程序統(tǒng)計(jì)最近一輪比賽后,各隊(duì)積分及排名。 1.2基本要求設(shè)積分表結(jié)構(gòu)如下:隊(duì)名(不超過15個(gè)字符),已比賽場數(shù),贏的場數(shù),平的場數(shù),負(fù)的場數(shù),進(jìn)球數(shù),失球數(shù),積分。積分表放在正文文件中。最近一輪的比賽結(jié)構(gòu)從鍵盤輸入,其形式為:主隊(duì)名(可用代碼
2、),客隊(duì)名(可用代碼),主隊(duì)得分(即進(jìn)球數(shù)),客隊(duì)得分(即進(jìn)球數(shù))。程序應(yīng)根據(jù)此結(jié)果修改各隊(duì)的積分和名次,所得的最近積分表仍在原積分文件中并同時(shí)在屏幕上顯示。2. 設(shè)計(jì) 2.1 文字描述根據(jù)要求,設(shè)計(jì)一個(gè)球隊(duì)類team,其中包含了該類對象的私有數(shù)據(jù)成員,即:已比賽場數(shù),贏的場數(shù),平的場數(shù),負(fù)的場數(shù),進(jìn)球數(shù),失球數(shù),積分。公有成員方面,除了定義該類構(gòu)造函數(shù)外,還將球隊(duì)名定義為公有的,目的是便于被類外函數(shù)調(diào)用。除此之外,由于該程序并非針對單個(gè)對象即某個(gè)球隊(duì)進(jìn)行的操作,故將諸如排名、更新球隊(duì)數(shù)據(jù)、排序后輸出等函數(shù)定義為普通函數(shù)。又因?yàn)樾枰{(diào)用該類對象的某些私有數(shù)據(jù)成員,于是將此等函數(shù)聲明為類的友元函
3、數(shù)。 2.2 圖示 3. 用戶手冊根據(jù)提示操作即可,具體為:(1) 程序運(yùn)行時(shí),首先要求初始化參賽隊(duì)總數(shù),各隊(duì)隊(duì)名等;(2) 按提示操作,即可選擇性修改最近一輪比賽中主客隊(duì)得分,也可查看當(dāng)前各隊(duì)積分排名。 注意:請輸入與程序要求相應(yīng)的選擇以及正確的格式,不要超出程序給定的范圍!4. 附錄 源程序#include#include#include#includeusing namespace std;class team /球隊(duì)類private:int race_num; /比賽場數(shù)int win_num; /贏的場數(shù)int peace_num; /平的場數(shù)int lose_num; /輸?shù)膱鰯?shù)i
4、nt ball_win; /進(jìn)球數(shù)int ball_lose; /失球數(shù)int score; /積分public: char *name; /隊(duì)名,在后文初始化參賽球隊(duì)隊(duì)名函數(shù)initical_name()中規(guī)定隊(duì)名不超過15個(gè)字符team(); /構(gòu)造函數(shù) /team operator=(team &b);/賦值運(yùn)算符重載成員函數(shù),方便team類型對象間的賦值操作 friend void rank(team array,int size); /聯(lián)賽排序方法函數(shù)friend void rewrite_data(team team,int size); /最近一輪比賽結(jié)束后主客隊(duì)數(shù)據(jù)更新/fri
5、end void print(team array,int size); /球隊(duì)當(dāng)前數(shù)據(jù)查詢函數(shù)friend void print_af_rank(team array,int size); /顯示排名后的各隊(duì)數(shù)據(jù);void project(team t,int size); /程序主工作函數(shù),此處聲明,便于后面調(diào)用team:team()name=0; race_num=0; win_num=0; peace_num=0;lose_num=0;ball_win=0; ball_lose=0;score=0;/team team:operator=(team &b) /賦值運(yùn)算符重載,方便tea
6、m類型對象間的賦值操作/team t;/=;/t.race_num=b.race_num;/t.win_num=b.win_num;/t.peace_num=b.peace_num;/t.lose_num=b.lose_num;/t.ball_win=b.ball_win;/t.ball_lose=b.ball_lose;/t.score=b.score;/return t;/void initical_name(team s,int size) /初始化參賽球隊(duì)隊(duì)名if(s0.name=0)couts;if(s=y|s=y) cout _ endlendl;int n
7、um,i; docout 請輸入?yún)①愱?duì)伍總數(shù)(2-sizenum;coutendl;if (numsize) coutcaution:您的輸入有誤,請重新輸入!endlendl;while(numsize);/ ofstream fout(lsjf.txt);/foutnumendl;/fout.close;for(i=0;inum;i+) cout 請輸入第i+1str;s=new charstrlen(str)+1;strcpy(s,str);/ ofstream fout(lsjf.txt);/foutsendl;coutendl;/fout.clos
8、e();cout_數(shù)據(jù)初始化成功! ;cout _ endl;coutendl; else if(s=n|s=n)cout 謝謝使用,祝您愉快!再見!endl;exit(0);project(s,size);else if(s0.name!=0)return;void project(team t,int size) /程序主工作函數(shù)int choice;do cout 請 選 擇 您 要 執(zhí) 行 的 操 作 endl; cout 1.查看當(dāng)前球隊(duì)排名 endl; cout 2.更新球隊(duì)比賽數(shù)據(jù) endl; cout 0.退出 ;cout _ endl;cout 請輸入您的選擇:(0-2)_;
9、 cinchoice;coutendl;switch(choice) case 1:initical_name(t,size);rank(t,size);print_af_rank(t,size); break; case 2:initical_name(t,size); rewrite_data(t,size);rank(t,size);print_af_rank(t,size); break;case 0: cout 謝謝使用,祝您愉快!再見!endl;exit(0); break; default: coutcaution:您的輸入有誤,請重新進(jìn)行選擇!endlendl; break;w
10、hile(choice!=0);return;void rank(team array,int size) /聯(lián)賽排序方法函數(shù)/cout執(zhí)行排序函數(shù)1endl; team temp;/ cout執(zhí)行排序函數(shù)2endl;/cout執(zhí)行排序函數(shù)3endl;int l=0,k=0; for(k=0;kif(!=0)l+;int i=0,j=0;for(i=0;il-1;i+) for(j=0;jarrayj+1.score) else if(arrayj.scorearrayj+1.score)/比較積分多少 temp=arrayj;arrayj=arrayj+1;arrayj
11、+1=temp;/cout執(zhí)行排序函數(shù)a(arrayj+1.ball_win-arrayj+1.ball_lose) else if(arrayj.ball_win-arrayj.ball_lose)(arrayj+1.ball_win-arrayj+1.ball_lose) temp=arrayj; arrayj=arrayj+1; arrayj+1=temp;/cout執(zhí)行排序函數(shù)barrayj+1.ball_win)/比較進(jìn)球數(shù)多少else if(arrayj.ball_winarrayj+1.ball_win)temp=arrayj; arrayj=arrayj+1; arrayj+1
12、=temp;/ cout執(zhí)行排序函數(shù)cendl;else if(arrayj.ball_win=arrayj+1.ball_win) return;void print_af_rank(team array,int size) /顯示排名后的各隊(duì)數(shù)據(jù) int n;cout _ endl;cout 當(dāng)前各隊(duì)積分排名 endl; cout名次t隊(duì)名t賽t勝t平t負(fù)t進(jìn)t失t凈t積分endl;for(n=0;nsize;n+)if(!=0)cout第n+1名tarrayn.race_numtarrayn.win_numtarrayn.peace_numt
13、arrayn.lose_numtarrayn.ball_wintarrayn.ball_losetarrayn.ball_win-arrayn.ball_losetarrayn.scoreendlendl;cout _ endl;return;void rewrite_data(team team,int size) /最近一輪比賽結(jié)束后主客隊(duì)數(shù)據(jù)更新 int m;int ht_num,at_num,ht_ball_win,at_ball_win; cout _ endlendl;cout參賽球隊(duì)代碼:endlendl;for(m=0;msize;m+)if(t!=0)cou
14、t m+1. tendlendl;cout _ endl;cout 請選擇主隊(duì)代碼:_; cinht_num;coutendl;cout 請選擇客隊(duì)代碼:_;cinat_num;coutendl;teamht_num-1.race_num+; /主隊(duì)比賽總場數(shù)默認(rèn)+1teamat_num-1.race_num+; /客隊(duì)比賽總場數(shù)默認(rèn)+1cout 請輸入主隊(duì)“teamht_”ht_ball_win;coutendl; teamht_num-1.ball_win+=ht_ball_win;teamat_num-1.ball_lose+=ht_ball_win
15、;cout 請輸入客隊(duì)“teamat_”at_ball_win;coutat_ball_win)teamht_num-1.win_num+;teamat_num-1.lose_num+;teamht_num-1.score=3*teamht_num-1.win_num+1*teamht_num-1.peace_num;else if(ht_ball_winat_ball_win) teamat_num-1.win_num+;teamht_num-1.lose_num+;teamat_num-1.score=3*teamat_num-1.win_num+1*teamat_num-1.peace_num; else if(ht_ball_win=at_ball_win)teamat_num-1.peace_num+;teamht_num-1.peace_num+;teamat_num-1.score+=1;teamat_num-1.score+=1;return
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樂山師范學(xué)院《短視頻創(chuàng)作》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧傳媒學(xué)院《影視特效》2023-2024學(xué)年第一學(xué)期期末試卷
- 南京機(jī)電職業(yè)技術(shù)學(xué)院《高原醫(yī)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東職業(yè)學(xué)院《園林與環(huán)境景觀》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西省興國縣達(dá)標(biāo)名校2025年教研聯(lián)合體中考模擬試卷(一)英語試題含答案
- 華北水利水電大學(xué)《中國抗戰(zhàn)時(shí)期文學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西青年職業(yè)學(xué)院《結(jié)構(gòu)設(shè)計(jì)原理(鋼結(jié)構(gòu))》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國農(nóng)業(yè)大學(xué)《數(shù)字展示設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南石油化工職業(yè)技術(shù)學(xué)院《云南民族民間舞》2023-2024學(xué)年第一學(xué)期期末試卷
- 元江哈尼族彝族傣族自治縣2025屆三年級數(shù)學(xué)第二學(xué)期期末學(xué)業(yè)水平測試模擬試題含解析
- 2024年四川蓬安相如旅游開發(fā)有限責(zé)任公司招聘筆試參考題庫含答案解析
- 統(tǒng)編版語文四年級下冊第二單元 快樂讀書吧:十萬個(gè)為什么 整書閱讀 課件
- 保安員心理測試題及答案
- YY/T 0489-2023一次性使用無菌引流導(dǎo)管及輔助器械
- 中醫(yī)藥適宜技術(shù)頸椎病課件
- 潔凈廠房設(shè)計(jì)方案
- 北京市通州區(qū)2021-2022學(xué)年高二下學(xué)期期中地理試題(解析版)
- 企業(yè)財(cái)務(wù)共享中心成熟度研究-以海爾集團(tuán)為例
- 急性一氧化碳中毒教學(xué)演示課件
- 幼小銜接視野下大班幼兒學(xué)習(xí)習(xí)慣的現(xiàn)狀調(diào)查及養(yǎng)成策略研究
- 中職電子商務(wù)班級建設(shè)方案
評論
0/150
提交評論