[langage C] simuler un dés 6 faces

Résolu
bkrqpzef Messages postés 213 Statut Membre -  
 MasterOfArmy -
Bonjour,
je débute en c et je m'intéresse à la commande aléatoire, j'aimerai écrire un programme en c simulant un dés de 6 faces. (1,2,3,4,5,6)
je ne trouve rien de simple sur le net ( allez taper "dés" sur google lol ) et je n'ai pas trouvé de tutorial sur la commande rand().
Si vous avez le programme écrit, merci de me le faire parvenir que je puisse l'étudier à des fins plus complexes ( :p ), j'aimerai faire un simulateur du célèbre jeu de loto, pour faire comprendre à un ami que les probabilités de gagner sont très très très minces. Mais je n'en suis pas encore là ...
Merci.

4 réponses

  1. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Bonjour

    j'ai trouvé ca :

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

    main()
    {
    int resultat :
    srand(time(NULL));
    resultat=rand()%6;
    printf("résultat de lancement du dé : %d",resultat);
    }

    tiens je te donne ca aussi , ca m'a permis de te donner ce code

    http://www.up.univ-mrs.fr/wcpp/V1/Annexes/A6.pdf
    1
    1. bkrqpzef Messages postés 213 Statut Membre 5
       
      merci, ton programme fonctionne presque:

      #include <time.h>
      #include<stdio.h>
      
      main()
      {
              int resultat;
              srand(time(NULL));
              resultat=rand()%6;
              printf("résultat de lancement du dé : %d",resultat);
      }


      mais il affiche 0, :p , sur un dés il n'y a pas de zéro :p, tu as une idée ?

      les résultats sont un peu bizarre,
      0,0,0,0,2,2,2,2,2,4,4,4,4,0,0,0 !!!
      c'est un peu bizarre non lol ?
      -1
  2. MasterOfArmy
     
    Moi je vous en propose un même si c'est résolue que je trouve plus simple mais a vous de voir.

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

    int main ( int argc, char** argv )
    {
    int nombreMystere = 0;
    const int MAX = 6, MIN = 1;
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    printf (" %d ", nombreMystere);
    return 0;
    }

    Voila faite en bon usage =p.
    1
  3. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    essaie resultat = 1+rand()%6; ca devrait marcher je crois
    0
    1. bkrqpzef Messages postés 213 Statut Membre 5
       
      ha merci c'est parfait, mais je trouve les résultats bizarre ....
      test 2 : résultats : 1,1,1,1,1,,5,5,5,5,5,5.
      tu trouves pas ça étrange, il n'y a pas une histoire de srand quelque part ?
      0
    2. bkrqpzef Messages postés 213 Statut Membre 5
       
      ha non c'est bon en fait je lance le programme plusieurs fois trop vite !!! lol. merci à tous !!!
      0
  4. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    ah bah si ca marche tant mieux. Jespere que cela aura pu t'aider
    0