#include <iostream>
#include <string>
#include <vector>
using namespace std;
string palavraSecreta = "MELANCIA";
vector<char> chutes;
bool letraExiste(char chute);
bool jaChutouLetra(char letra);
void mostraJutesFeitos();
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";
}
// condição de vitória
acertou = true;
for (char letra : palavraSecreta) {
if (!jaChutouLetra(letra)) {
acertou = false;
break;
}
}
} 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 JÁ FEITOS: ";
for (char letra : chutes) {
if (letra == chutes) {
cout << letra;
}
}
}
Na função, void mostraJutesFeitos(), acusa um erro no operador ==. O que estou fazendo de errado?