猜数字游戏实验报告

绝世美人儿
683次浏览
2021年01月01日 03:01
最佳经验
本文由作者推荐

经销商培训-题临安邸古诗

2021年1月1日发(作者:邢球痕)


编号:
16
河北工业大学计算机软件技术基础(VC)2013年课程设计报告
学院 机械学院 班级 姓名 学号 成绩____
一、题目:
猜数字游戏
二、设计思路
1、总体设计
1)分析程序的功能

由计算机产 生一个随机数,然后用户开始猜数字,根据提示猜出正确的数字(开始时输入要猜
的数字的位数,这样计 算机可以根据输入的位数随机分配一个符合要求的数据,计算机输出guess
后便可以输入数字进行猜 测,要求数字间用空格或者回车符来分隔,计算机会根据输入信息给出相
应的提示信息:A表示数字和位 置均正确的个数,B表示数字正确但位置不正确的个数,这样便可
以根据提示信息进行下次猜测,直到猜 对为止。这时会根据输入的次数给出相应评价。)
2)系统总体结构:
有计算机产生一个随机数,玩家开始猜测。根据提示信( -A-B )猜测数字,直至
猜对,计算机会
根据输入的次数给出相应评价
,或者玩家想结束。

2、各功能模块的设计:说明各功能模块的实现方法
1)
用srand( (unsigned)time(NULL))函数,计算机生成一个满足条件的随机数;
2)玩家输入自己猜的数字,并根据提示不断改正;
3)用两个for和if函数的嵌套得到A、B的值
4)计算机给出最后的评价,或玩家想结束,计算机给出答案

3、设计中的主要困难及解决方案
设计中用到的rand函数在最初使用的时候总是取得相同 的随机数序列,经过
查阅资料得知,在使用rand函数之前必须先用srand函数设置随机数种子, 最后
在程序中利用time函数返回时钟周期数作为种子的编号。
4、你所设计的程序最终完成的功能
1)说明你编制的程序能完成的功能
根据提示,猜数字
第1页共9 页


编号:
16
2)准备的测试数据及运行结果
1.进入界面:


2.如果想了解规则,可根据提示进入规则界面:

第2页共9 页


编号:
16

3.输入想要猜测的位数,如:2位


4.当你猜对数字时,系统会根据你猜的次数给予相应的评价:
第3页共9 页


编号:
16


5.如果你输入超过了10次,系统会提示你是否还要继续:



第4页共9 页


编号:
16

如果要继续:

如果想结束:

三、程序清单
第5页共9 页


编号:
16
1)main函数
void main()
{
int a[6],b[6],i,j,k,n1,n2,n3,N,x,y,z,system;
cout<< ------------------------------------------ -------------------------------
cout<< **** ^_^ 你好,欢迎来到猜数字游戏 ^_^
*****
cout<< ----------------------- -------------------------------------------------< br> cout<< **** 如果想了解游戏规则请按1,直接进入请按0
*****
cout<< -------------------------------------------------- ----------------------
cin>>y;
if(y)
{
cout<< *-*-*-*-*-*-*-*-*-* 游戏规则
*-*-*-*-*-*-*-*-*-*-*
cout<< | 您要输入n位数字,且各个位数都不相同.如: 若电脑数字
|
cout<< * 是1234,而你输入的是1439,则会显示2A1B,其中2表示有两个
*
cout<< | 数字位置和大小都相等,1表示有一个数字位置相同而大小不相等
|
cout<< *--------------------------- ------------------------------------------*
cout<< | 欢迎进入游戏
|
cout<<
*-*-*-*-*-*-*-*-*-*-*-*- *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
}
cout<<请输入你想猜的数字的位数(2位-5位)
cin>>N;
for(x=1;x!=10;)
{
srand((unsigned int(time(NULL))));
int r1,r2,r3,r4,r5;
r1=rand()%10;
r2=rand()%10;
r3=rand()%10;
r4=rand()%10;
r5=rand()%10;
system=r1*10000+r2*1000+r3*100+r4*10+r5;
int TS = system;
i=0;
while(0 < TS )
{
第6页共9 页


编号:
16
b[i++] = TS%10;
TS = 10;
}
for(i=0; i for(int j=i+1; j if(b[i] != b[j])
x++;
}
for(k=1;k<100;k++) 计算用户游戏时所猜的总的次数
{
cout<<请输入位各个位数不同的整数
for(i=0;i cin>>a[i];
for(i=0,n1=0,n2=0;i if(a[i]==b[i])
n1++;
for(j=0;j for(i=0;i if(a[i]==b[j])
n2++;
n3=n2-n1;
if(n3>0||n3==0)
cout<<
else
cout<<
if(n1==N)
break;
if(k>9)
{
cout<<您现在已经猜了次,请问您还要继续吗?是1,否0
cin>>z;
if(z==0)
break;
}
}
输出结果
if(z==0)
{
cout<<你选择了结束游戏,答案是
for(i=0;i cout< cout< }
else
第7页共9 页


编号:
16
{
cout<<
cout<<您一共猜了次
cout<<
cout<<系统给您的评价是:
根据所猜次数对用户作出相应评价
if(k<4)
cout<<神一般的猜测!
if(k>3&&k<11)
cout<<你真是太厉害了!
if(k>10&&k<21)
cout<<还不错,继续努力!
if(k>20)
cout<<你太逊了,猜了这么多次!
}
}

2)
rand
函数
srand((unsigned int(time(NULL))));
int r1,r2,r3,r4,r5;
r1=rand()%10;
r2=rand()%10;
r3=rand()%10;
r4=rand()%10;
r5=rand()%10;
四、对该设计题目有何更完善的方案
1、对自己完成程序进行自我评价。
我的程序较好的完成了任务中规定的设计内容,并完成了创新要求的设计,运
行正确。
2、对课题提出更完善的方案
实现更多位数数字的猜测
五、收获及心得体会



第8页共9 页


编号:
16

日期: 2013年6月26日
第9页共9 页

十大坑人专业-他没那么喜欢你


外星人图片-感恩季


少年派的奇幻漂流在线观看-防震减灾手抄报


最大的乌龟-学期工作计划


数学考试反思-企业章程范本


sufficiently-导游资格考试


电脑没声音了-微风细雨


保护眼睛的设置-中秋节祝福短语