Résultats de 1 à 2 sur 2

Sujet : rand() srand() choix d\'un mot suite

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    10

    rand() srand() choix d\'un mot suite

    re-bonjour,
    Voici mon programme, pour choisir un mots parmis plusieurs dans un fichier. je ne comprends pas pourquoi ça ne marche pas, il me sort toujours le même mot.

    #include<stdio.h>
    #include<time.h>

    #define N 25

    int main()
    {
    char mot[N];
    char type ;
    FILE *fp ;
    srand(time(NULL)) ;

    fp=fopen(“/home/Documents/dico”, “w+”);

    type=rand()%4;

    strcpy(mot,“mandrake”);
    fprintf(fp,%s,mot);

    strcpy(mot,“linux”);
    fprintf(fp,%s,mot);

    strcpy(mot,“ordinateur”);
    fprintf(fp,%s,mot);


    strcpy(mot,“chocolat”);
    fprintf(fp,«%s»,mot);

    fgets(mot,0,fp) ;
    fscanf(fp,«%s»,mot) ;

    fclose(fp) ;

    printf(«le mot est %s»,mot) ;

    return 0 ;
    }

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    329
    Exécuté comme ça il est normal que ton programme sorte toujours le même mot, mais tu dois avoir oublié de recopier une partie du code parceque ton fichier est ici ouvert en écriture, donc tu ne peux pas lire dedans (normalement tu dois avoir des warnings ou des segfaults)

    Une solution pour obtenir un mot au hazard serait de reprendre ton code, de fermer le fichier en écriture puis de le rouvrir en lecture, et enfin de lire des strings type fois, ou (maximum-type) fois. Ainsi, tu aura peu de chances de retomber plusieures fois sur le même mot (tout dépend de la taille du dico).

    Voilà, j\'espère que cela t\'aidera, n\'hésites pas à reposter du code ici

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé
Please disable Adblock!