Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2722 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  question sur enum et classe [possible ou pas ?]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question sur enum et classe [possible ou pas ?]

n°457855
xiluoc
un pc pour les unirs ....
Posté le 15-07-2003 à 04:47:38  profilanswer
 

j ai ue class deck.cpp , deck.h (jeux de carte) qui comment comme ca :
 
 

Code :
  1. #ifndef DECK_H
  2. #define DECK_H
  3. #include <stack>
  4. using namespace std;
  5. class deck
  6. {
  7. public:
  8.  //enumeration type
  9.  enum suitType {Hearts, Diamonds, Clubs, Spades};
  10.  enum rank {Ace = 1, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King};
  11.  //structure
  12.  struct card
  13.  {
  14.   suitType suit;
  15.   rank face_value;
  16.   int point_value;
  17.  };//end card struct
  18.  //constructor
  19.  deck();
  20.  //shuffle the deck
  21.  void shuffle();
  22.  //deal the top card from the deck
  23.  card deal();
  24.  //is the deck empty?
  25.  bool empty();
  26.  //refreshes the deck.  
  27.  void refresh();
  28. private:
  29.  //the deck of cards
  30.  stack <card> cardDeck;
  31. };
  32. #endif //DECK_H

 
 
 
j ai cree un petit programme simple qui utilise cette classe :
 

Code :
  1. #include <iostream>
  2. #include "deck.h"
  3. using namespace std;
  4. int main() {
  5. deck mydeck;
  6. mydeck.shuffle();
  7. deck::card x;
  8. x = mydeck.deal();
  9. cout <<"card 1 rank" <<x.face_value;
  10. cout <<"\ncard 1 cat "<<x.suit;
  11. cout <<"\ncard 2 point "<<x.point_value;
  12. }

 
 
 
 
 
 
sa me renvoie un chiffre vue que enum link un nom a une constante, est ce possible d afficher la " string" correspondant a la valeur ?
 
example au lieu d eme sortir 1 pour la face_value j aimerai voir : Hearts .


Message édité par xiluoc le 15-07-2003 à 05:13:16
mood
Publicité
Posté le 15-07-2003 à 04:47:38  profilanswer
 

n°457865
xiluoc
un pc pour les unirs ....
Posté le 15-07-2003 à 06:10:00  profilanswer
 

:whistle:


Message édité par xiluoc le 15-07-2003 à 07:33:58
n°457874
Taz
bisounours-codeur
Posté le 15-07-2003 à 07:49:41  profilanswer
 

non, c'est pas possible d'afficher le nom d'un enum, comme de tout autre variable.

n°457897
farib
Posté le 15-07-2003 à 08:53:56  profilanswer
 

++Taz a écrit :

non, c'est pas possible d'afficher le nom d'un enum, comme de tout autre variable.


on est pas en php ici mossieur ici on transtype on caste pas on indirectionne pas (hug ?) comme des porcs, et on fait des vrais tableaux !

n°458277
Taz
bisounours-codeur
Posté le 15-07-2003 à 13:03:33  profilanswer
 

farib a écrit :


on est pas en php ici mossieur ici on transtype on caste pas on indirectionne pas (hug ?) comme des porcs, et on fait des vrais tableaux !

:heink:

n°459837
LeGreg
Posté le 17-07-2003 à 05:01:18  profilanswer
 

tu numerotes tes types de 1 a n
et dans un tableau a n elements tu places le nom de tes types sous forme de string
et tu affiches cette string
C'est pas tres compliqué !
 
LeGreg

n°459838
xiluoc
un pc pour les unirs ....
Posté le 17-07-2003 à 05:09:44  profilanswer
 

legreg a écrit :

tu numerotes tes types de 1 a n
et dans un tableau a n elements tu places le nom de tes types sous forme de string
et tu affiches cette string
C'est pas tres compliqué !
 
LeGreg


 

Code :
  1. string cardname (deck::card x) {
  2. string a,b;
  3. switch (x.suit) {
  4. case 0 : a= "Hearts";    break;
  5. case 1 : a= "Diamonds";  break;
  6. case 2 : a= "Clubs";     break;
  7. case 3 : a= "Spades";    break;
  8. }
  9. switch (x.face_value) {
  10. case 1 : b= "Ace";       break;
  11. case 2 : b= "Two";       break;
  12. case 3 : b= "Three";     break;
  13. case 4 : b= "Four";      break;
  14. case 5 : b= "Five";      break;
  15. case 6 : b= "Six";       break;
  16. case 7 : b= "Seven";     break;
  17. case 8 : b= "Eight";     break;
  18. case 9 : b= "Nine";      break;
  19. case 10 : b= "Ten";      break;
  20. case 11 : b= "Jack";     break;
  21. case 12 : b= "Queen";    break;
  22. case 13 : b= "King";     break;
  23. }
  24. return (b+ " " + a);  //concatenate the string a and b to display the name of the card
  25. }

 
 
..  [:alarmclock119]

n°459839
LeGreg
Posté le 17-07-2003 à 05:22:22  profilanswer
 

mouai j'aurais prefere tout dans un tableau
en plus
 
a= "Hearts"; <-- ouch
 
mais bon question de principes  
 
LeGreg

n°459840
xiluoc
un pc pour les unirs ....
Posté le 17-07-2003 à 06:37:16  profilanswer
 

legreg a écrit :

mouai j'aurais prefere tout dans un tableau
en plus
 
a= "Hearts"; <-- ouch
 
mais bon question de principes  
 
LeGreg

explique je suis noob , que lest le pb ?

n°459842
LeGreg
Posté le 17-07-2003 à 07:21:16  profilanswer
 

Non c'est pas grave, de toute facon si c'est pour un jeu de carte tu n'en as rien a faire :D
 
LeGreg

mood
Publicité
Posté le 17-07-2003 à 07:21:16  profilanswer
 

n°459850
farib
Posté le 17-07-2003 à 08:26:29  profilanswer
 


$$variable, en php ca marche

n°459905
antp
Super Administrateur
Champion des excuses bidons
Posté le 17-07-2003 à 09:50:11  profilanswer
 

farib a écrit :


$$variable, en php ca marche


 
Ouais mais disais ça en quotant ++Taz, je comprends qu'il soit perdu :o
 
xiluoc >> c'est pas plus propre de mettre les noms des enums dans les case plutôt que de mettre leurs valeurs en int ? :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°459918
xiluoc
un pc pour les unirs ....
Posté le 17-07-2003 à 09:56:33  profilanswer
 

antp a écrit :


 
Ouais mais disais ça en quotant ++Taz, je comprends qu'il soit perdu :o
 
xiluoc >> c'est pas plus propre de mettre les noms des enums dans les case plutôt que de mettre leurs valeurs en int ? :D


 
case "ace" :b="ace" ???
 j irai pas te contredire toute critique est bien venu, et dans qq temps je vais lacher mon code de blackjack, y aura du boulot lol

n°459923
LeGreg
Posté le 17-07-2003 à 09:57:58  profilanswer
 

antp a écrit :


 
Ouais mais disais ça en quotant ++Taz, je comprends qu'il soit perdu :o
 
xiluoc >> c'est pas plus propre de mettre les noms des enums dans les case plutôt que de mettre leurs valeurs en int ? :D


 
normalement c'est à ça que servent les énums
mais je crois qu'il n'a pas compris :D
 
LeGreg

n°459928
antp
Super Administrateur
Champion des excuses bidons
Posté le 17-07-2003 à 10:00:04  profilanswer
 

xiluoc a écrit :


 
case "ace" :b="ace" ???


 
case Ace: b = "Ace";
 
[:spamafote]


Message édité par antp le 17-07-2003 à 10:00:18

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  question sur enum et classe [possible ou pas ?]

 

Sujets relatifs
Petite question de noobClasse ou tableau associatif ?
2 styles CSS à la fois, c possible ? comment on fait ?[SAX] c'est quoi qui remplace la classe HandlerBase?
ptite question sur du htmlQuestion simple vb
plusieur outer join, c'est possible????[VB] Question sur la facon de VB de procéder avec les nombres
Programmation en Java: question de la part d'un débutant...Question vba et vb
Plus de sujets relatifs à : question sur enum et classe [possible ou pas ?]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR