[Langage C] Comment écrire un dé aléatoire ?
Résolu
UNIX/VI/SHELL
Messages postés
89
Statut
Membre
-
tom -
tom -
Bonjour, je voudrais savoir comment écire un systeme de dé aléatoire, qui permette au programme de choisir un nombre, puis de le tester, puis ensuite de continuer l'execution du programme selon le nombre.
Merci de l'aide.
Merci de l'aide.
Configuration: Mac OS X Safari 419.3
A voir également:
- [Langage C] Comment écrire un dé aléatoire ?
- Ecrire en gras sur whatsapp - Guide
- Langage binaire - Guide
- Comment ecrire numero sur le clavier ✓ - Forum Bureautique
- Comment écrire # sur pc - Guide
- Comment écrire 1er sur clavier - Forum Gravure
4 réponses
Salut !
Pour générer un nombre aléatoire en C, tu peux utiliser la fonction rand(), initialisée au moyen de la fonction srand(). Ces deux fonctions sont décrites dans l'en-tête <stdlib.h>.
Note que le paramètre à passer à ta fonction srand, la graine, doit changer à chaque fois que tu exécute le programme. On utilise habituellement l'heure actuelle du systeme, mais je ne me souviens pas de la syntaxe exacte, recherche dans la bibliotheque time.h je crois, désolé de ne pas être plus précis.
Pour poursuivre l'exécution de ton programme en fonction de la valeur générée, tu peux utiliser une suite de if :
ou alors un switch :
Voilà j'espère que ça t'aura été utile...
Bonne continuation.
Yann
Pour générer un nombre aléatoire en C, tu peux utiliser la fonction rand(), initialisée au moyen de la fonction srand(). Ces deux fonctions sont décrites dans l'en-tête <stdlib.h>.
// la bibliotheque qui contient les fonctions srand() et rand() #include <stdlib.h> // fonction d'initialisation void srand (unsigned int); // le nombre aléatoire que tu veux int nombre_aleatoire; // la valeur minimale du nombre int borne_inf = 1; // la valeur maximale int borne_sup = 6; // le tirage : nombre_aleatoire appartient à l'ensemble [borne_inf , borne_sup] nombre_aleatoire = borne_inf + (int) ((float) rand() * (borne_sup - borne_inf + 1) / (RAND_MAX+1.0));
Note que le paramètre à passer à ta fonction srand, la graine, doit changer à chaque fois que tu exécute le programme. On utilise habituellement l'heure actuelle du systeme, mais je ne me souviens pas de la syntaxe exacte, recherche dans la bibliotheque time.h je crois, désolé de ne pas être plus précis.
Pour poursuivre l'exécution de ton programme en fonction de la valeur générée, tu peux utiliser une suite de if :
if (nombre_aleatoire == 1)
{// instructions}
else if (nombre_aleatoire == 2)
{// instructions}
/* etc... */
ou alors un switch :
switch(nombre_aleatoire)
{
case 1 :
// instructions
break;
case 2 :
// instructions
break;
/* etc... */
default :
// traitement par défaut
}
Voilà j'espère que ça t'aura été utile...
Bonne continuation.
Yann