rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[Langage C] Comment écrire un dé aléatoire ?

Posté par UNIX/VI/SHELL, le dimanche 1 avril 2007 à 16:13:03
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.
Configuration: Mac OS X
Safari 419.3
Répondre à UNIX/VI/SHELL  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Yann, le dimanche 1 avril 2007 à 17:00:23
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>.

// 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
Répondre à Yann

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
UNIX/VI/SHELL, le dimanche 1 avril 2007 à 17:04:30
Merci c'est ce qu'il me fallait !

Merci !
Répondre à UNIX/VI/SHELL

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
_Yann_, le dimanche 1 avril 2007 à 17:07:02
Je t'en prie c'est toujours un plaisir de rendre service ! ^^
Répondre à _Yann_

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 mido94800, le mercredi 18 juin 2008 à 15:46:52
sil vou plé jvoudré ke kelkun maide! cé tré urgent! dan le domaine du langage C!!
jé 2 DS (controle) et jvoudré ke kelkun me lé fasse ou maide a lé faire!
MERCI!!
Répondre à mido94800
Logiciels pertinents trouvés dans les téléchargements
Télécharger FastStone Capture 5.9FastStone Capture - Ce logiciel de capture est léger, efficace et simple à utiliser. Vous pouvez capturer l'écran complet, une fenêtre, une...Catégorie: Capture
Licence: Shareware
Télécharger WinAVI Video Capture 2.0.0.1WinAVI Video Capture - WinAVI Video Capture peut capturer vos films en provenance de périphériques AV comme un magnétoscope, un camescope ou une...Catégorie: Edition vidéo
Licence: Freeware/gratuit
Télécharger Easy CD-DA Xtractor 11_5_3 trialEasy CD-DA Xtractor - Easy CD-DA Xtractor est un extracteur de CD audio pour Windows (CD ripper) capable d'encoder directement aux formats MP3 et...Catégorie: Extraction
Licence: Demo
Télécharger CDmate 2.5.4.17CDmate - CD-Mate est une suite de gravure capable de concurrencer Nero Burning ROM. Il offre de nombreuses fonctionnalités de...Catégorie: Gravure
Licence: Demo
Plus de logiciels gratuits sur « [Langage C] Comment écrire un dé aléatoire ? »