C ++ Word猜谜游戏

时间:2015-12-14 01:30:22

标签: c++ arrays

我正在尝试制作游戏刽子手的一部分,用户输入一个字母,然后在随机数组中循环检查该字母。如果找到该字母,则它会输出一个已更改的数组,包括现在该字母并再次向用户提供,输入另一个字母。似乎循环不起作用,因为程序不扫描整个数组输入的字母。我该如何解决这个问题?

int main(){

string guess[25];
string password[5];
srand((unsigned)time(0));

string letters[5] = {"_ ","_ ","_ ","_ ","_ "};
char array[26] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','v','z'};

for(int r = 0; r < 5; r++){
    int g = rand() % 24;
    password[r] = array[g];
}

cout << endl;

     for(int z = 0; z < 25; z++){

    cout << "Enter Letter: " << endl;
    cin >> guess[z];

    for(int b = 0; b < 5; b++){
        if(uguess[z] == password[b]){
            letters[b] = guess[b];
            cout << letters[b];
        }else{
            cout << letters[b];
        }
    }
    cout << endl;
}

有人能指出我正确的方向。谢谢 它总是说,如果asdfg这个词被猜到了,但它会非常糟糕地混乱,因为它并不总是显示这封信,即使它已被猜到,它也会在以后显示出来。

1 个答案:

答案 0 :(得分:1)

crke[b] = ugib[b];

这一行应该是:

crke[b] = ugib[z];

您可能需要花一些时间学习如何使用调试器,这样可以帮助您解决问题。