C++课程设计实验报告彩票游戏设计Word文档格式.docx
《C++课程设计实验报告彩票游戏设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++课程设计实验报告彩票游戏设计Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
public:
voidSetSport(intp[100][7])
{};
voidSetwelfare(intp[100][6])
voidCompare(CSportLot&
);
voidCompare(CWelfareLot&
};
classCSportLot
intLotNum[7];
CSportLot(){}
voidSetLot();
voidPrintLot();
friendvoidCCustomer:
:
Compare(CSportLot&
classCWelfareLot
intLotNum[6];
CWelfareLot(){}
Compare(CWelfareLot&
intmain(void)
//srand(time(NULL));
stringstrChoice;
do
{}while(strChoice!
="
3"
cout<
<
"
\n\n\t\t谢谢使用,下次再见!
\n"
;
return0;
}
2.3主要算法流程图
3程序清单及注释
{
for(intb=0;
b<
df;
b++)
for(inti=0;
i<
7;
i++)
pSport[b][i]=p[b][i];
}
{for(intb=0;
6;
pWelfare[b][i]=p[b][i];
voidCCustomer:
sportlot)
intt1=0,t2=0;
for(intp=0;
p<
p++)
{
for(inti=0;
{
for(intj=0;
j<
j++)
if(pSport[i][p]==sportlot.LotNum[j])
{
for(intk=j,l=i;
k++,l++)
{
if(pSport[p][l]==sportlot.LotNum[k])
{
t1++;
if(((k==6)||(l==6))||(pSport[p][l+1]!
=sportlot.LotNum[k+1]))
{
if(t1>
t2)
t2=t1;
t1=0;
break;
}
}
}
}
}
if(t2==7)
cout<
\t恭喜您,您中的是特等奖,该请客了!
\n\n\n"
elseif(t2==6)
\t恭喜您,您中的是一等奖,该请客了!
elseif(t2==5)
\t恭喜您,您中的是二等奖,该请客了!
elseif(t2==4)
\t恭喜您,您中的是三等奖,该请客了!
elseif(t2==2)
\t恭喜您,您中的是安慰奖,该请客了!
else
\t很遗憾,这次您没有中奖,继续努力哦!
welfarelot)
{
intt=0;
for(intb=0;
b++)
for(inti=0;
if(welfarelot.LotNum[i]==pWelfare[b][i])
t++;
if((6-t)==6)
\t很遗憾,这次您没有中奖,请以后继续努力!
\t恭喜您,您中的奖是"
(6-t)<
等奖,该请客了!
voidCSportLot:
SetLot(void)
intnRnd,nNum;
for(intj=0;
nRnd=rand();
for(intk=0;
k<
nRnd;
k++)
nNum=rand()%10;
cout<
nNum<
'
\b'
cout<
nNum;
LotNum[j]=nNum;
PrintLot()
LotNum[i]<
\t'
cout<
endl;
voidCWelfareLot:
SetLot()
sta:
nRnd=rand();
nNum=rand()%21;
if(nNum<
10)
else
for(intk=0;
i;
if(nNum==LotNum[k])
gotosta;
"
LotNum[i]=nNum;
voidSportLottery()
\n\t\t体育彩票,机会多多!
\n\n"
\t请输入7位(0-9)数字:
intusersport[7];
intged[100][7];
intx;
while
(1)
i++)//输入下注的号码
{cout<
第"
i+1<
位数字:
cin>
>
usersport[i];
if(usersport[i]>
=10||usersport[i]<
0)
输入的数字应在0-9之间,请重新输入!
i--;
for(inti=0;
i++)
ged[df][i]=usersport[i];
df++;
是否继续输入(1或0):
cin>
x;
if(x==0)break;
CCustomercustomer;
CSportLotsport;
customer.SetSport(ged);
\t现在开始开奖,按任意键开始\n"
cin.get();
\n\t\t激动人心的一刻,体育彩票开奖!
sport.SetLot();
\t大奖号码为:
sport.PrintLot();
customer.Compare(sport);
voidWelfareLottery()
\n\t\t福利彩票,惊喜无限!
\t请输入6位(0-20)数字:
intuserwelfare[6];
intged[100][6];
endl<
cin>
userwelfare[i];
for(intj=0;
if(userwelfare[i]>
20||userwelfare[i]<
0||userwelfare[i]==userwelfare[j])
cout<
输入的数字应该在0-20之间不重复的数,请重新输入!
i--;
ged[df][i]=userwelfare[i];
CWelfareLotwelfare;
customer.Setwelfare(ged);
\n\t\t激动人心的一刻,福利彩票开奖!
welfare.SetLot();
welfare.PrintLot();
customer.Compare(welfare);
\t\t*****************************************"
\t\t*\t欢迎进入彩票游戏,祝您好运!
\t*"
\t\t\t\t1.体育彩票\n"
\t\t\t\t2.福利彩票\n"
\t\t\t\t3.退出\n"
\n\n\t\t\t请选择下注福彩还是体彩:
cin>
strChoice;
if(strChoice=="
1"
)
SportLottery();
elseif(strChoice=="
2"
WelfareLottery();
\t\t输入错误,请重新选择:
}while(strChoice!
4运行结果与分析
程序运行时,首先出现菜单界面。
如图1所示。
图1程序运行主界面
选择1,进入体育彩票下注界面。
如图2所示
图2进入体育彩票下注界面
用户依次输入想要选择的7位体彩号码。
如图3,图4所示
图3当输入的号码不符合要求时,会提示重新输入
图4输入了正确的7位体彩号码(按1继续输入数据,按0结束输入)
按任意键开始体彩开奖,并显示用户输入号码的中奖类别。
如图5所示
图5显示用户的体彩中奖类型
选择2,进入福利彩票下注界面。
如图6所示
图6进入福利彩票下注界面
用户依次输入想要选择的6位福彩号码。
如图7所示
图7当输入的号码不符合要求时,会提示重新输入(按1继续输入数据,按0结束输入)
按任意键开始福彩开奖,并显示用户输入号码的中奖类别。
如图8所示
图8显示用户的福彩中奖类型
选择3,进入退出界面。
如图9所示
图9退出本程序
5总结
对于本次课程设计的过程中出现的问题,我觉得最最困难的是关于体彩开奖过程中关于连续数字个数的判断和计数,这需要借助三个循环和两次判断来从中奖号码和用户购买号码中比较得出记录相同号码的个数,从而判断出用户在这次开奖中是否中奖,以及中了几等奖!
在老师的指导下,我发现了自己的程序还存在着许多不足,比如无法实现用户多组数据的输入,和中奖号码进行比较得出中奖信息等等,按照老师的要求,我思考了许久终于想出了解决的办法,从中我获得了许多……
从这次课程设计中,我发现自己还存在很多不足,对已学知识掌握地还不是很好。
在编程思想方面个人显得比较死板,没有创新的思想,还不能积极变通,以上这些都需要我在日后的实践中注意和改进。
6参考文献
[1]李爱华,程磊著.面向对象程序设计(C++语言).北京:
清华大学出版社,2010
[2]刘振安,刘燕君著.C++程序设计课程设计.北京:
机械工业出版社,2004
[3]谭浩强著.C++程序设计实践指导.北京:
清华大学出版社,2005