Utiliser le Random pour un ENUM !!!!!!

Utiliser le Random pour un ENUM !!!!!! - C++ - Programmation

Marsh Posté le 22-05-2008 à 11:08:41    

Salut :hello:  
Je veux savoir comment utiliser le random pour un enum en c++.
J'ai la structure suivante

Code :
  1. enum ETAT {gauche,droite,haut,bas};


et je veux savoir comment générer un Random pour ces états???
 
Merci d'avance pour tout ceux et celles qui peuvent m'aider :jap: .


---------------
fedora6
Reply

Marsh Posté le 22-05-2008 à 11:08:41   

Reply

Marsh Posté le 22-05-2008 à 11:27:00    

c'est pas une structure c'est une enum.
 
tu fais un tirage aléatoire entre [int(gauche); int(bas)] qui te donne un int x, et après tu fais un Etat e(x);

Reply

Marsh Posté le 22-05-2008 à 11:53:34    

Salut,
 
En sus de ce qu'à dis Taz, tu ferais bien d'ajouter les bornes de l'enum afin de pouvoir ajouter des états sans avoir à te soucier de modifier ce type de fonctions par la suite:

Code :
  1. enum Etat
  2. {
  3.    min,
  4.    gauche = min,
  5.    droite,
  6.    haut,
  7.    bas,
  8.    max = bas
  9. };


Ensuite tu fais le random sur min/max comme l'indique Taz au lieu de spécifier directement les valeurs.

Reply

Marsh Posté le 22-05-2008 à 13:55:34    

Merci pour vos réponses.
A plus :hello:


---------------
fedora6
Reply

Marsh Posté le 22-05-2008 à 14:36:27    

Code :
  1. #include <iostream>
  2. #include <ostream>
  3. #include <cstdlib>
  4. enum Etat { gauche, droite, haut, bas };
  5. Etat random_etat()
  6. {
  7.   int low(gauche), high(bas);
  8.   return Etat(low + double(std::rand()) / (1.0 + RAND_MAX / (high - low + 1.0)));
  9. }


 
un truc omme ça

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed