Por qual motivo retorna 8x você acertou? E qual a diferença de size para length?
#include <iostream>
#include <string>
using namespace std;
bool letraExiste(char chute);
string palavraSecreta = "MELANCIA";
int main()
{
setlocale(LC_ALL, ""); // Ativa o uso de acentos
char chute = ' ';
bool acertou = false, enforcou = false;
do {
cout << "Informe uma letra, sempre use letras maiúsculas: ";
cin >> chute;
cout << "\n";
for (int i = 0; i < 8; i++)
{
if (letraExiste(chute)) {
cout << "Você acertou! Seu chute está na palavra\n";
}
else {
cout << "Você errou! Seu chute não está na palavra\n";
}
}
} while (!acertou && !enforcou);
}
bool letraExiste(char chute) {
for (int i = 0; i < palavraSecreta.size(); i++)
{
if (chute == palavraSecreta[i]) {
return true;
}
}
return false;
}