1
resposta

Preciso de uma opnião

Eu pesquisei um pouco e fiz desse jeito, acho que o código fica mais organizado, ao invés de usar uma linha no arquivo que fala quantas palavras tem ele vai agora linha por linha sem precisar de um indexador pré-definido. gostaria de uma opinião de alguém com mais conhecimento

string palavra;

void SorteiaPalavra(){
    std::ifstream file;
    file.open("palavras.txt");

    if(file.is_open()) {
        string tmpstr;

        std::vector<string> palavras;

        while(std::getline(file, tmpstr)){
            palavras.push_back(tmpstr);
        }

        srand(time(NULL));
        int i = rand() % palavras.size();

        palavra = palavras[i];
        file.close();
    }
    else {
        std::cout << "Não foi possivel abrir o banco de palavras";
        exit(0);
    }
}
1 resposta

poderia haver um arquivo geral à parte que armazena quantas palavras há, depois da escolha é só preciso ir na linha da palavra e retornar a string ou usar a variável global (palavra).

obs:ou colocar um metadado no início do arquivo a ser lido