#include <iostream>
#include <string>
#include <vector>
using namespace std;
string palavraSecreta = "MELANCIA";
vector<char> chutes;
vector<char>chutesErrados;
bool letraExiste(char chute);
bool jaChutouLetra(char letra);
void mostraJutesFeitos();
bool naoAcertou();
bool naoEnforcou();
int main() {
setlocale(LC_ALL, ""); // ativa o uso de acentos
char chute = ' ';
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);
}
} while (!naoAcertou() && !naoEnforcou());
if (naoAcertou) {
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 naoAcertou() {
for (char letra : palavraSecreta) {
if (!jaChutouLetra(letra)) {
return true;
}
}
return false;
}
bool naoEnforcou() {
return chutesErrados.size() < 5;
}
Após o primeiro chute o jogo acaba