Votre question

[C++] Problème de conversion (saisie d'un élément d'une énumération)

Tags :
  • element
  • Programmation
Dernière réponse : dans Programmation
20 Février 2009 14:35:06

Bonjour tous le monde,

je vous explique mon problème :

J'ai une énumération dont les éléments correspondent à des nombres hexadécimaux
  1. typedef enum {
  2. /**COMMANDE COTE DROIT**/
  3. V_R_PULSE_MOT_D = 0x00,//NAN getMoteurDroit
  4. V_W_INPUT_PULSE_MOT_D,//setMoteurDroit
  5. V_R_VITESSE_RAD_ROUE_D,//NAN getRoueDroite
  6. V_W_VITESSE_RAD_ROUE_D,//setRoueDroite
  7. V_R_REGULATION_MODE_MOT_D,//OK
  8. V_R_POSITION_MOT_D,//OK
  9. V_R_TENSION_D,//OK getTensionBatterieDroit
  10.  
  11. /**COMMANDE COTE GAUCHE**/
  12. V_R_PULSE_MOT_G = 0x10,//NAN getMoteurGauche
  13. V_W_INPUT_PULSE_MOT_G,//setMoteurGauche
  14. V_R_VITESSE_RAD_ROUE_G,//NAN getRoueGauche
  15. V_W_VITESSE_RAD_ROUE_G,//setRoueGauche
  16. V_R_REGULATION_MODE_MOT_G,//OK
  17. V_R_POSITION_MOT_G,//OK
  18. V_R_TENSION_G,//OK getTensionBatterieGauche
  19.  
  20. /**COMMANDE EVOLUEE**/
  21. V_R_COMMANDE_MODE_ROBOT = 0xA0,//OK
  22. V_W_COMMANDE_MODE_ROBOT,
  23. V_W_TRAJECTOIRE_LIGNE,
  24. V_W_TRAJECTOIRE_COURBE,
  25. V_W_TRAJECTOIRE_FINI,
  26. V_W_INIT_MODEL,
  27. V_R_MODEL//NAN
  28.  
  29. } V_Mode;


Je souhaite faire saisir un nombre hexadécimal à l'utilisateur et que cette saisie soit convertie directement en V_Mode mais je ne vois pas du tout comment faire...

Merci d'avance.

Autres pages sur : probleme conversion saisie element enumeration

a b L Programmation
21 Février 2009 10:40:06

Déjà, pour moi, lier l'interface utilisateur avec le traitement de la donnée (je veux dire que la donnée est intégrée dans l'interface) est une erreur de programmation, alors lier l'interface avec le code source, c'est du code à jeter. :) 
Contenus similaires
27 Février 2009 14:54:49

Ok merci je vais tester cela dès que possible. J'avoue ne pas comprendre la ligne que tu m'indique OmaR, je vais jeter un petit coup d'oeil sur le site histoire de voir ce que cela signifie.

Si le traitement de la données est liée à l'interface, c'est tout simplement car ce client n'est là que pour tester. Un autre groupe travaille sur un client plus élaboré et comme je suis sur le serveur, il me faut un client simple pour le tester.

Merci encore, je vous tiens au courant.
a c 232 L Programmation
27 Février 2009 20:22:19

la ligne que je t'ai donné va convertir la chaine de caractères "V_W_INPUT_PULSE_MOT_D" en sa valeur correspondante dans l'énumération.

Si tu lis une variable inputString depuis la console et que tu veux la convertir, tu remplaces simplement "V_W_INPUT_PULSE_MOT_D" par inputString dans mon code et tu auras dans la variable myValue la valeur de l'énumération correspondante.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS