瑞星卡卡安全论坛技术交流区系统软件 编写一个猜数字的程序```

1   1  /  1  页   跳转

编写一个猜数字的程序```

编写一个猜数字的程序```

猜数字这个游戏想必大家应该都玩过吧文曲星上都有的`````有没有人能够用纯程序流编一下啊.```用C来写..
谢谢啦..有的话贴一下程序..有解释那就最好啦..```
高手帮帮忙啊````

最后编辑2007-06-07 17:43:51
分享到:
gototop
 

没人知道吗..帮帮忙啊。.急死啦....救命啊..
gototop
 

生成随即数,根据输入的比大小
gototop
 

能不能把程序发一下啊。 .随机数不大会取啊...帮帮忙啊。``
gototop
 

rand()生成0~~~1之间的随机数,
C很多年都没用过,差不多都忘记了
gototop
 

啊````救命撒`````
gototop
 
gototop
 

#include<iostream>
#include<string>
#include<cstdlib>
#include<ctime>
using namespace std;
void main()
{
int i,j,n=0,m=0,l;
static int a[5],b[5];
char zhiling;
cout<<"猜数字游戏<制作人:泪凝北冰洋>"<<endl<<endl;
cout<<"游戏规则:输入4个不同的数字,范围为1~9;如果你输入的数字与答案中的数字大小相同,但是位置不同,则为B,如果大小和位置都相同,则为A。例如:若答案为1 2 3 4,而你输入2 4 3 5,那么将给出1A2B的提示。即数字3与答案中的3位置相同;2,4包含在答案中,但与答案中位置不同(游戏中不能输入0或非数字内容,否则窗口将被关闭)"<<endl;
    cout<<"数字输入:数字间用空格隔开,确认请按回车键"<<endl<<endl;
loop4:cout<<"指令帮助:b=开始;e=退出;a=查看答案"<<endl;
  loop1:cout<<"请输入指令信息:";
cin>>zhiling;
if (zhiling=='a')
{ cout<<"答案为:";
for(i=1;i<5;i++)
        cout<<a<<" ";cout<<endl; goto loop4;}
else if (zhiling=='e')
goto loop3;
else if(zhiling=='b')
goto loop5;
else cout<<"你输入的指令不对,请重新输入"<<endl;
goto loop1;
loop5:;
srand(time(NULL));
for(i=1;i<5;i++)
{loop:a=1+rand()%(9);
  for(j=1;j<i;j++)
      if (a==a[j])
  goto loop;
}//产生4个随机数 

  for(l=1;l<=7;l++)
  {loop2:cout<<"现在你还有"<<8-l<<"次机会!"<<endl;
  {cout<<"请输入你猜测的四个数字(数字间用空格隔开 帮助:1 1 1 1):"<<endl;
    cin>>b[1]>>b[2]>>b[3]>>b[4];//输入四个数
if (b[1]==1&&b[2]==1&&b[3]==1&&b[4]==1) goto loop4;
else  if(b[1]==0||b[2]==0||b[3]==0||b[4]==0)
{cout<<"你的输入有误,请重新开始"<<endl<<endl;break;}
else  for(i=1;i<5;i++)
{for(j=i+1;j<5;j++)
        if(b>9||b<0)
  {cout<<"你的输入有误,数字范围为1-9,请重新开始"<<endl<<endl;goto loop2;}
else if(b==b[j])
  {cout<<"你的输入有误,不能输入相同的数字,请重新开始"<<endl<<endl;goto loop2;}
}//判断四个数是否符合条件
{for(i=1;i<5;i++)
for(j=1;j<5;j++)
if (b==a[j]&&i==j) m++;
else if(b==a[j]&&i!=j) n++;}
if (m==4)
{cout<<"恭喜!猜数成功!正确答案为:";//猜题成功,显示祝贺消息和正确答案
for(i=1;i<5;i++)
cout<<a<<" ";
    cout<<endl<<endl;
  goto loop4;
}
else
{cout<<m<<"A"<<n<<"B"<<endl;m=0;n=0;}
  }//对四个数与答案进行比较
  if(l==7)
  {cout<<"很遗憾,正确答案为:";
    for(i=1;i<5;i++)
  cout<<a<<" ";
cout<<endl<<endl;
goto loop4;
  }
  }//显示正确答案
loop3: ;
}


很久以前写的,程序代码不太好,用了很多goto,呵呵,不过功能还是完善的~~

附件附件:

下载次数:385
文件类型:image/pjpeg
文件大小:
上传时间:2007-6-7 17:54:02
描述:



gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT