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 работает, она отображает «находится в слове, чтобы угадать». Однако, когда я ввожу неправильную букву, она не отображает «не в словах, чтобы угадать», вместо этого она отображает «Вы догадались о письме». Что не так с моей логикой?В то время как цикл в программе палача C++
Ваша программа делает именно то, что вы рассказываете его: (1) побуждение "Введите букву угадать:", (2) читать письмо ('CIN >> wrongGuess'), (3) преобразование догадка в верхний регистр, затем (4) печать «Вы догадались письмо: ...». Не знаете, почему вы ожидаете, что это будет по-другому. Вы можете уточнить? – lurker
Мне нужна программа, чтобы сказать мне, правильно ли угаданное письмо или нет. когда я ввожу правильную букву, она говорит мне, что буква находится в слове, когда я ввожу неверное, это не говорит мне, что письмо не в слове, а, похоже, возвращается к началу и дает мне сообщение " вы угадали письмо: « – ladysquatch
Прежде всего, какой тип данных является вашей неправильной переменной? Кажется, вы оба используете его как символ и как целое число. – MrSykkox