帮我看看
能运行,但不能完成功能,我的功能是一个猜数。产生4个随机数。其中就这里有问题:
for(x=0;x<4;x++)
{for(y=0;y<4;y++)
{if(suiji[y]==a[x])
++m;
}
if(a[x]==suiji[x])
++i;
}
无法进行比较,不知道怎么回事,比如:我输入1234,猜测系统自动产生的3654,本来应该说有2个数猜对,但1个顺序正确,但我的这边程序运行是0个数猜对,但0个顺序正确。应该是比较有问题,但我觉得我的比较没有错呀,请帮我看看,谢谢
#include<iostream.h>
#include<time.h>
#include<stdlib.h>
class math
{private:
char a[4];
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];
for(y=0;y<4;y++)
{suiji[y]=rand()%(10);
}
loop: 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;
}
cout<<"请你继续猜测,其中有"<<m<<"个数在所猜的4个数中"<<endl;
cout<<"其中有"<<i<<"个数的顺序正确"<<endl;
}
if(i==x)
{cout<<"你猜对了,谢谢你的参与"<<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();
}