1
resposta

Envio do dado para o endereço da quantidade de palavras

Professor,

Fiquei em dúvida quanto à função escolhe palavra, onde acessamos o arquivo e então gravamos no endereço da quantidade de palavras.

Porque fazemos isso? é uma particularidade dessa função? Não podemos gravar na variável em si?

Fico no aguardo do retorno, muito obrigado!

1 resposta

Oi Matheus, tudo bom?

A gente acessa o arquivo nessa linha aqui:

void escolhepalavra() {
    FILE* f;
    // aqui a gente le o arquivo palavras.txt
    f = fopen("palavras.txt", "r");
    if(f == 0) {
        printf("Banco de dados de palavras não disponível\n\n");
        exit(1);
    }

    int qtddepalavras;
    fscanf(f, "%d", &qtddepalavras);
// aqui a gente escolhe uma palavra aleatoria
    srand(time(0));
    int randomico = rand() % qtddepalavras;
    // aqui a gente coloca essa palavra no array de palavra secreta
    for(int i = 0; i <= randomico; i++) {
        fscanf(f, "%s", palavrasecreta);
    }

    fclose(f);
}

Acredito que a ideia seja mostrar como acessar arquivos mesmo. Poderia ter sido feito com um outro array de palavras cadastrado na mão. É uma outra forma de implementar.

Buscando no arquivo, garantimos que no momento de adicionar/remover palavras (dar manutenção nesse sistema) vamos mexer em um lugar só. Tendo um arquivo especifico pra isso fica mais isolada essa responsabilidade =)

Abraço!