找大神帮我用C++写一个猜谜游戏的代码

刚写的,新鲜出炉的,基本满足需求和要求的头文件,把相关的函数放进去就行了,把生成随机数的函数封装进去就行了。很简单。自己改。

提问,或者联系百度HI。

所有代码:

#包含?& ltiostream & gt

#包含?& ltstdio.h & gt

#包含?& ltstdlib.h & gt

#包含?& lt字符串& gt

#包含?& lttime.h & gt

使用?命名空间?std

//猜测最大次数

const?int?MAX_GUESS_TIME=?8;

作废?ShowMenu();//显示菜单

作废?ShowGameInfo();//显示游戏介绍。

字符串?GetNum();//生成一个不包含重复数字的四位数。

字符串?CalcResult(字符串?strResult,?字符串?strInput);//比较两个数并输出?答?b结果

布尔?CheckInput(字符串?strInput);//检查输入的有效性,简单处理,添加其他判断。

int?主()

{

字符串?strResult

字符串?strInput

int?iGuessTime = 1;

cout & lt& lt" = = * *欢迎来到猜数字游戏* * = = "

ShowMenu();

CIN & gt;& gtstrInput

什么时候?(1)

{?

如果?(strInput?==?"1")

{

打破;

}

不然呢?如果?(strInput?==?"2")

{

ShowGameInfo();

}

不然呢?如果?(strInput?==?"0")

{

cout & lt& lt“谢谢您的使用,再见!\ n ";

回归?0;

}

其他

{

cout & lt& lt“对不起,请输入正确的号码!\ n ";

}

ShowMenu();

CIN & gt;& gtstrInput

}

srand(time(NULL));

strResult?=?GetNum();

cout & lt& lt"请输入四位数(回车退出):"

CIN & gt;& gtstrInput

什么时候?(strInput?!=?“退出”)

{

如果?(!CheckInput(strInput))

{

cout & lt& lt“您的输入不正确,请输入4位数字,不能重复\ n”;

CIN & gt;& gtstrInput

继续;

}

如果?(strResult?==?字符串输入)

{

cout & lt& lt“哈!你猜对了,你真棒!号码是:“

cout & lt& lt“继续?(是/否)";

CIN & gt;& gtstrInput

如果?(!(strInput[0]=='y '?||?strInput[0]=='Y '))

{

打破;

}

strResult?=?GetNum();

iGuessTime = 1;

}

其他

{

如果?(MAX_GUESS_TIME?& gt?iGuessTime)

{

cout & lt& lt“没有吗?”& lt& ltiGuessTime & lt& lt第二次猜测,输入

++ iGuessTime;

}

其他

{

cout & lt& lt“对不起,你猜错了。号码是:“< & ltstrResult & lt& ltendl

cout & lt& lt“继续?(是/否)";

CIN & gt;& gtstrInput

如果?(!(strInput[0]=='y '?||?strInput[0]=='Y '))

{

?打破;

}

strResult?=?GetNum();

iGuessTime = 1;

}

}

cout & lt& lt"请输入四位数(回车退出):"

CIN & gt;& gtstrInput?

}

cout & lt& lt“谢谢你使用它。再见。\ n ";

回归?0;

}

字符串?GetNum()

{

夏尔?cTmp[2]?=?{0};

字符串?strTmp

int?iTmp = 0;?

什么时候?(strTmp.length()?!=?4)

{

iTmp?=?兰德()?%?10;

itoa(iTmp,cTmp,?10);

int?索引?=?strtmp . find(cTmp);

如果?(?索引?& lt?0)

{

strTmp?+=?cTmp

}

}

回归?strTmp

}

字符串?CalcResult(字符串?strResult,?字符串?字符串输入)

{

int?iA=0,iB = 0;

int?i=0,j = 0;

夏尔?Cr esult[5]= { 0 };

为了什么?(;我?& lt?strresult . length();++i)

{

为了什么?(j = 0;j?& lt?strinput . length();++j)

{

夏尔?strA = strResult[I];

夏尔?strB = strInput[j];

如果?(strA?==?strB)

{

如果?(我?==?j)

{

?++ iA;

}

其他

{

?++ iB;

}

}

}?

}

sprintf(cResult," %dA%dB ",iA,?iB);

回归?cResult

}

布尔?CheckInput(字符串?字符串输入)

{

int?I = 0;

如果?(strInput.length()?!=?4)

{

回归?假的;

}

为了什么?(;我?& lt?4;?i++)

{

夏尔?cTmp?=?strInput[I];

如果?(?cTmp?& gt?'9'?||?cTmp?& lt?'0')

{

回归?假的;

}

}

回归?真实;

}

作废?ShowMenu()

{

cout & lt& lt"请输入相应的数字进行选择"

cout & lt& lt" 1->;玩游戏”

cout & lt& lt" 2->;游戏介绍”

cout & lt& lt" 0->;退出游戏”

}

作废?ShowGameInfo()

{

cout & lt& lt“这里是游戏介绍,输入自己的游戏介绍\ n”;

系统(“暂停”);

}

运行截图: