#include <iostream>
#include <string>
#include <map>
#include <vector>
#include <fstream>
#include <ctime>
#include <cstdlib>
using namespace std;
string palavra_secreta = "MELANCIA";
map < char, bool> chutou;
vector<char> chutes_errados;
bool letra_existe(char chute){
for(int i = 0; i < palavra_secreta.size(); i++){
if(chute == palavra_secreta[i]){
return true;
}
}
return false;
}
bool nao_acertou(){
for(char letra : palavra_secreta) {
if(!chutou[letra]){
return true;
}
}
return false;
}
bool nao_enforcou(){
return chutes_errados.size() < 5;
}
void imprime_cabecalho(){
cout << "***************" << endl;
cout << "*** Jogo da Forca ***" << endl;
cout << "***************" << endl;
cout << endl;
}
void imprime_erros(){
cout << "chutes_errados: ";
for(char letras : chutes_errados){
cout << letras << " ";
}
cout << endl;
}
void imprime_palavras(){
for(char letra : palavra_secreta){
if(chutou [letra]){
cout << letra << " ";
}else{
cout << "_ ";
}
}
cout << endl;
}
void chuta(){
char chute;
cin >> chute;
chutou[chute] = true;
if(letra_existe(chute)){
cout << "Voce acertou! Seu chute esta na palavra." << endl;
} else {
cout << "Voce errou! Seu chute nao esta na palavra." << endl;
chutes_errados.push_back(chute);
}
}
vector<string> le_arquivo(){
ifstream arquivo;
arquivo.open("palavras.txt");
int quantidade_palavras;
arquivo >> quantidade_palavras;
cout << "O arquivo possui " << quantidade_palavras << " palavras " << endl;
vector<string> palavras_do_arquivo;
for(int i = 0; i < quantidade_palavras; i++){
string palavra_lida;
arquivo >> palavra_lida;
cout << "Na linha " << i << " : " << palavra_lida << endl;
palavras_do_arquivo.push_back(palavra_lida);
}
return palavras_do_arquivo;
}
void sorteia_palavra(){
vector<string> palavras = le_arquivo();
srand(time(NULL));
int indice_sorteado = rand() % palavras.size();
palavra_secreta = palavras[indice_sorteado];
}
int main() {
imprime_cabecalho();
le_arquivo();
while(nao_acertou() && nao_enforcou()){
imprime_erros();
imprime_palavras();
chuta();
}
cout << "Fim de jogo" << endl;
cout << "A palavra secreta era: " << palavra_secreta << endl;
if(nao_acertou()){
cout << "Voce perdeu! Tente novamente!" << endl;
}
else {
cout << "Parabens! Voce acertou a palavra secreta" << endl;
}
}
Esse é meu código e eu criei o arquivo txt com as frutas, mas continua sendo melancia independente no número de tentativas