while (wrongGuess != 6)
{
cout << "\nEnter a letter to guess: ";
cin >> wrongGuess;
wrongGuess = toupper(wrongGuess);
cout << "You guessed the letter: " << wrongGuess << endl;
for (int i = 0; i < fileWord.length(); i++)
{
if (fileWord[i] == wrongGuess)
{
cout << wrongGuess << " is in the letter to guess." << endl;
found = true;
}
}
// if not found - increment wrong guesses
if (!found)
{
wrongGuess++;
cout << wrongGuess << " is not in the word to guess." << endl;
}
//print the board that corresponds to the wrongGuess
}
while循环的第一部分工作它将显示“在猜词中”。但是,当我输入一个不正确的字母时,它不会显示“不在猜词中”,而是显示“你猜错了”。我的逻辑出了什么问题?
答案 0 :(得分:1)
您正在使用wrongGuess作为用户的输入以及错误猜测的计数器...... 另外,我不知道whatGuess和fileWord的类型是什么,但我猜你是在比较一个int和一个可能没有给出预期结果的char。
答案 1 :(得分:0)
我根本没有测试过这段代码,但是它应该让你为正确设计程序做好准备。
conda remove qt
conda remove pyqt
答案 2 :(得分:0)
我认为你需要另一个变量,你使用wrongGuess来控制while并从用户那里读取输入。
我不知道,但试试这个。
int count = 0;
while (count != 6)
{
cout << "\nEnter a letter to guess: ";
cin >> wrongGuess;
wrongGuess = toupper(wrongGuess);
cout << "You guessed the letter: " << wrongGuess << endl;
for (int i = 0; i < fileWord.length(); i++)
{
if (fileWord[i] == wrongGuess)
{
cout << wrongGuess << " is in the letter to guess." << endl;
found = true;
}
}
// if not found - increment wrong guesses
if (!found)
{
count++;
cout << wrongGuess << " is not in the word to guess." << endl;
}
//print the board that corresponds to the wrongGuess
}