我正在尝试制作游戏刽子手的一部分,用户输入一个字母,然后在随机数组中循环检查该字母。如果找到该字母,则它会输出一个已更改的数组,包括现在该字母并再次向用户提供,输入另一个字母。似乎循环不起作用,因为程序不扫描整个数组输入的字母。我该如何解决这个问题?
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这个词被猜到了,但它会非常糟糕地混乱,因为它并不总是显示这封信,即使它已被猜到,它也会在以后显示出来。
答案 0 :(得分:1)
crke[b] = ugib[b];
这一行应该是:
crke[b] = ugib[z];
您可能需要花一些时间学习如何使用调试器,这样可以帮助您解决问题。