Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Solicito correção

Favor verificar se o código está correto. No entanto, tentei ler apenas uma palavra do arquivo randomicamente, mas estou lendo todas as palavras, poderiam me ajudar?

# include <stdio.h>
# include <string.h>
# include <time.h>
# include <stdlib.h>
# include "Forca.h"


// Variáveis Globais
char resultado [10];

void abertura (){
    printf ("****************************\n");
    printf ("** Exercicio Abre Arquivo **\n");
    printf ("****************************\n\n");
}

void escolhepalavra (){
    FILE* f;

    f = fopen("exe.txt", "r");
    if (f==0){
        printf("Desculpe, banco de dados indisponivel\n\n");
        exit(1);
    }

    int lido;
    fscanf(f, "%d", &lido);

    srand(time(0));
    int randomico = rand() % lido;

    for (int i = 0; i <= randomico; i++) {
        fscanf(f, "%s", resultado);

        printf("Palavra achada:%s \n", resultado);
    }

    fclose(f);
}

int main () {

    abertura();

escolhepalavra();

}

1 resposta
solução!

Olá Giliandro, tudo bem?

Então, coloque dentro do seu for um if para apenas ler se for o indice sorteado, assim:

for (int i = 0; i <= randomico; i++) 
{
    if(i==randomico)
    {
        fscanf(f, "%s", resultado);
        printf("Palavra achada:%s \n", resultado);
    }
}

De resto me parece tudo certinho! :)