C++课程设计足球联赛积分Word文档格式.docx
- 文档编号:17980905
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:15
- 大小:484.10KB
C++课程设计足球联赛积分Word文档格式.docx
《C++课程设计足球联赛积分Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++课程设计足球联赛积分Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
usingnamespacestd;
classTEAM//球队类
{
private:
intrace_num;
//比赛场数
intwin_num;
//赢的场数
intpeace_num;
//平的场数
intlose_num;
//输的场数
intball_win;
//进球数
intball_lose;
//失球数
intscore;
//积分
public:
char*name;
//队名,在后文初始化参赛球队队名函数initical_name()中规定队名不超过15个字符
TEAM();
//构造函数
//TEAMoperator=(TEAM&
b);
//赋值运算符重载成员函数,方便TEAM类型对象间的赋值操作
friendvoidrank(TEAMarray[],intsize);
//联赛排序方法函数
friendvoidrewrite_data(TEAMTeam[],intsize);
//最近一轮比赛结束后主客队数据更新
//friendvoidprint(TEAMarray[],intsize);
//球队当前数据查询函数
friendvoidprint_af_rank(TEAMarray[],intsize);
//显示排名后的各队数据
};
voidproject(TEAMT[],intsize);
//程序主工作函数,此处声明,便于后面调用
TEAM:
:
TEAM()
name="
0"
;
race_num=0;
win_num=0;
peace_num=0;
lose_num=0;
ball_win=0;
ball_lose=0;
score=0;
}
//TEAMTEAM:
operator=(TEAM&
b)//赋值运算符重载,方便TEAM类型对象间的赋值操作
//{
//TEAMt;
//t.name=b.name;
//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;
//returnt;
//}
voidinitical_name(TEAMS[],intsize)//初始化参赛球队队名
if(S[0].name=="
)
{
cout<
<
"
Caution:
当前无参赛队伍,请建立!
(y/n)__"
strings;
cin>
>
s;
if(s=="
y"
||s=="
Y"
{
cout<
_______________________________________________________________________"
endl<
endl;
intnum,i;
do
{
cout<
请输入参赛队伍总数(2---"
size<
)__"
cin>
num;
if(num<
2||num>
size)
{
您的输入有误,请重新输入!
}
}while(num<
size);
//ofstreamfout("
lsjf.txt"
);
//fout<
num<
//fout.close;
for(i=0;
i<
i++)
请输入第"
i+1<
个球队的队名__"
charstr[15];
str;
S[i].name=newchar[strlen(str)+1];
strcpy(S[i].name,str);
S[i].name<
}
//fout.close();
____数据初始化成功!
"
________________________________________________________________________"
}
elseif(s=="
n"
N"
{
谢谢使用,祝您愉快!
再见!
exit(0);
project(S,size);
}
elseif(S[0].name!
="
){}
return;
voidproject(TEAMT[],intsize)//程序主工作函数
intchoice;
{
请选择您要执行的操作<
cout<
1.查看当前球队排名"
2.更新球队比赛数据"
0.退出"
_____________________________________________________________"
请输入您的选择:
(0-2)__"
choice;
switch(choice)
case1:
initical_name(T,size);
rank(T,size);
print_af_rank(T,size);
break;
case2:
rewrite_data(T,size);
case0:
default:
您的输入有误,请重新进行选择!
break;
while(choice!
=0);
voidrank(TEAMarray[],intsize)//联赛排序方法函数
//cout<
执行排序函数1"
TEAMtemp;
//cout<
执行排序函数2"
执行排序函数3"
intL=0,k=0;
for(k=0;
k<
size;
k++)
//ifstreamfin("
//fin>
if(array[k].name!
)L++;
inti=0,j=0;
for(i=0;
L-1;
i++)
for(j=0;
j<
L-1-i;
j++)//积分多者在前
{
if(array[j].score>
array[j+1].score){}
elseif(array[j].score<
array[j+1].score)//比较积分多少
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
//cout<
执行排序函数a"
elseif(array[j].score==array[j+1].score)//积分相同时,净胜球数多者在前
//比较净胜球数多少
if((array[j].ball_win-array[j].ball_lose)>
(array[j+1].ball_win-array[j+1].ball_lose)){}
elseif((array[j].ball_win-array[j].ball_lose)<
(array[j+1].ball_win-array[j+1].ball_lose))
temp=array[j];
//cout<
执行排序函数b"
//积分与净胜球数均相同时,进球数多者在前
elseif((array[j].ball_win-array[j].ball_lose)==(array[j+1].ball_win-array[j+1].ball_lose))
if(array[j].ball_win>
array[j+1].ball_win){}
//比较进球数多少
elseif(array[j].ball_win<
array[j+1].ball_win)
{
temp=array[j];
执行排序函数c"
}
elseif(array[j].ball_win=array[j+1].ball_win){}
return;
voidprint_af_rank(TEAMarray[],intsize)//显示排名后的各队数据
{
intn;
当前各队积分排名"
名次\t队名\t赛\t胜\t平\t负\t进\t失\t净\t积分"
for(n=0;
n<
n++)
if(array[n].name!
第"
n+1<
名"
\t"
array[n].name<
array[n].race_num<
array[n].win_num<
array[n].peace_num<
array[n].lose_num<
array[n].ball_win<
array[n].ball_lose<
array[n].ball_win-array[n].ball_lose<
array[n].score<
voidrewrite_data(TEAMTeam[],intsize)//最近一轮比赛结束后主客队数据更新
intm;
intht_num,at_num,ht_ball_win,at_ball_win;
参赛球队代码:
for(m=0;
m<
m++)
if(Team[m].name!
)cout<
m+1<
."
Team[m].name<
请选择主队代码:
__"
ht_num;
请选择客队代码:
at_num;
Team[ht_num-1].race_num++;
//主队比赛总场数默认+1
Team[at_num-1].race_num++;
//客队比赛总场数默认+1
请输入主队"
“"
Team[ht_num-1].name<
”"
的进球数:
ht_ball_win;
Team[ht_num-1].ball_win+=ht_ball_win;
Team[at_num-1].ball_lose+=ht_ball_win;
请输入客队"
Team[at_num-1].name<
at_ball_win;
Team[at_num-1].ball_win+=at_ball_win;
Team[ht_num-1].ball_lose+=at_ball_win;
if(ht_ball_win>
at_ball_win)
Team[ht_num-1].win_num++;
Team[at_num-1].lose_num++;
Team[ht_num-1].score=3*Team[ht_num-1].win_num+1*Team[ht_num-1].peace_num;
elseif(ht_ball_win<
Team[at_num-1].win_num++;
Team[ht_num-1].lose_num++;
Team[at_num-1].score=3*Team[at_num-1].win_num+1*Team[at_num-1].peace_num;
elseif(ht_ball_win==at_ball_win)
Team[at_num-1].peace_num++;
Team[ht_num-1].peace_num++;
Team[at_num-1].score+=1;
intmain()
TEAMteam[18];
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★"
★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆★"
★☆☆★"
★☆联赛积分应用系统☆★"
->
->
WELCOME<
-<
-"
project(team,18);
return0;
7.程序实现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 足球联赛 积分