这个c语言(c++)的程序要怎么写?

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:21:06
内容:设计一个猜数字游戏,它能根据游戏规则猜数。
功能:产生原始数字:产生4个随机数,并按任意顺序排列。
游戏提示:用1A2B形式提示玩家当前猜数字的匹配情况。例如1A表示玩家猜测的数字有1个与系统产生的原始数字符合,并且位置也符合。2B表示玩家猜测的数字有2个与系统产生的原始数字符合,但位置不符合。
原始数字显示:当用户10次仍然不能猜出正确的原始数字和顺序时,系统提示玩家失败,并给玩家显示原始数字和顺序。
提示:可能涉及语法点:数组、选择与循环、函数

完全不明白要怎么出随机排序还要对号,如果有高人能编写出完整的可运行的程序,我会再追加分数!
当用户10次仍然不能猜出正确的原始数字和顺序时,系统提示玩家失败,并给玩家显示原始数字和顺序。
这点好像没有达到啊!不过强人,做到这里已经非常感谢了

我需要的程序代码是能直接复制在Microsoft visual c++6.0中即可运行出结果的

#include <iostream.h>
#include <time.h>
#include <stdlib.h>
void Checkout(char [],char [],int &,int &);
void Swap(char &a,char &b);
void main()
{
bool right=false;
char goon;
int times=0,perfect,nearly,init;
char guess[5],in[255],orig[10]={'0','1','2','3','4','5','6','7','8','9'};
srand((unsigned)time(NULL));
while (1)
{
for(int i=0;i<4;i++)
{
init=rand()%10;
Swap(orig[i],orig[init]);
}
for(i=0;i<4;i++)
guess[i]=orig[i];
guess[5]='\0';
right=false;
for(times=0;times<10 && !right;times++)
{
perfect=0;nearly=0;
cin>>in;
Checkout(guess,in,perfect,nearly);
cout<<perfect<<"A"<<nearly<<"B"<<endl;
if(perfect==4)
right=tr