#include #include #include using namespace std;
string palavraSecreta = "MELANCIA"; vector chutes; vectorchutesErrados;
bool letraExiste(char chute); bool jaChutouLetra(char letra); void mostraJutesFeitos(); bool nao_acertou(bool acertou);
int main() { setlocale(LC_ALL, ""); // ativa o uso de acentos
char chute = ' ';
bool acertou = false, enforcou = false;
cout << "*********************************\n";
cout << "***BEM-VINDO AO JOGO DA FORCA!***\n";
cout << "*********************************\n";
do {
mostraJutesFeitos();
// mostra a palavra com letras acertadas ou "_"
for (char letra : palavraSecreta) {
if (jaChutouLetra(letra)) {
cout << letra << " ";
}
else {
cout << "_ ";
}
}
cout << "\nInforme uma letra, sempre use letras maiúsculas: ";
cin >> chute;
cout << "\n";
chutes.push_back(chute); // adiciona o chute ao histórico
if (letraExiste(chute)) {
cout << "Você acertou! Seu chute está na palavra.\n";
}
else {
cout << "Você errou! Seu chute não está na palavra.\n";
chutesErrados.push_back(chute);
}
// condição de vitória
nao_acertou(acertou);
} while (!acertou && !enforcou);
if (acertou) {
cout << "Parabéns! Você acertou a palavra secreta: " << palavraSecreta << "\n";
}
}
bool letraExiste(char chute) { for (char letra : palavraSecreta) { if (chute == letra) { return true; } } return false; }
bool jaChutouLetra(char letra) { for (char chute : chutes) { if (chute == letra) { return true; } } return false; }
void mostraJutesFeitos() { cout << "ESSES FORAM OS CHUTES ERRADOS JÁ FEITOS: "; for (char letra : chutesErrados) { cout << letra << " "; // Exibe cada letra chutada separada por um espaço } cout << "\n"; }
bool nao_acertou(bool acertou) { acertou = true; for (char letra : palavraSecreta) { if (!jaChutouLetra(letra)) { acertou = false; break; } } }
Eu meramente extraí a parte do código que verifica se há letras a serem chutadas e não acusou nenhum erro. Mas não compila.