猜数游戏源码
昨天,在论坛上看到份关于猜数游戏求助的帖子,我已经把它改好了。找不到原帖子了,现在把改后的发表在这儿发表在这儿#include<iostream.h>
#include<time.h>
#include<stdlib.h>
class math
{
private:
int a[4]; //把 char 改为 int
public:
void sss();
void fff();
void shuming();
};
void math::shuming()
{
cout<<" 说明:系统随机产生4个数字,你可以进行猜测,一共有10次机会,每次猜完都有提示"<<endl<<endl;
}
void math::sss()
{
char a;
int t = 1;
cout<<"1:开始猜数"<<endl;
cout<<"2:看猜数规则说明"<<endl;
cout<<"3:退出"<<endl;
cin>>a;
switch(a)
{
case '1': fff();break;
case '2': shuming();break;
case '3': exit(1);break;
default: cout<<"按键无效!"<<endl;break;
}
sss();
}
void math::fff()
{
srand(time(0));
int x = 0, y = 0, n = 10;
int i = 0, m = 0;
int suiji[4];
do
{
for(y = 0; y < 4; y++)
{
suiji[y]=rand()%(10);
}
}while((suiji[0] == suiji[1] || suiji[0] == suiji[2] || suiji[0] == suiji[3] || suiji[1] == suiji[2] || suiji[1] == suiji[3] || suiji[2] == suiji[3])); //这儿也改了
loop:
i = 0; m = 0; //这儿是加的
if(n>0)
{
cout<<"开始输入4个数字:";
for(x = 0; x < 4; x++)
{
cin>>a[x];
}
for(x = 0; x < 4; x++)
{
for(y = 0; y < 4; y++)
{
if(suiji[y] == a[x])
++m;
}
if(a[x]==suiji[x])
++i;
}
if(i==x) //这个if语句也换了一下 {
cout<<"你猜对了,谢谢你的参与"<<endl;
exit(0);
}
cout<<"请你继续猜测,其中有"<<m<<"个数在所猜的4个数中"<<endl;
cout<<"其中有"<<i<<"个数的顺序正确"<<endl;
}
n--;
cout<<"你还有"<<n<<"次机会"<<endl;
if(n<=0)
{
cout<<"很遗憾,你没有机会了"<<endl;
cout<<"正确的答案是:";
for(y=0;y<4;y++)
{
cout<<suiji[y];
}
cout<<endl;
exit(0);
}
else goto loop;
}
void main()
{
math x;
x.sss();
}