IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

test sur clé enumeration


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de jolatouf
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 170
    Par défaut test sur clé enumeration
    Bonjour,

    Je suis entrain de faire une grammaire et afin de simplifier le code pour de futur evolution, je cherche a me servir des enumerations.

    Pour utiliser cette grammaire l'utilisateur entre une serie de lettre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //lettre presente dans la grammaire
    enum grammarLetter{
    	A,T,R,X,D,E,I
    	};
    L'utilisateur rentre donc une chaine de caractere que je redecoupe en char pour savoir chaque lettre utilisée.

    En faite j'aimerai faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char monOccurrence; //lettre de la grammaire a traiter
     
    if(monOccurence est une lettre de ma grammaire present dans mon enum)
       return true;
    sinon
       return false;
    Je sais qu'une enum permet de representer une chaine par un int mais ma question est peut on faire le test sur la clé de l'enum.

    Merci

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par jolatouf
    Je sais qu'une enum permet de representer une chaine par un int mais ma question est peut on faire le test sur la clé de l'enum.
    Ce n'est pas exactement ça, on représente dans le fichier .cpp un entier par un nom de variable, pas par une chaîne de caractères. Quand le programme est compilé, le nom A, E, ... n'existe plus, il ne reste que la valeur

  3. #3
    Membre confirmé
    Avatar de jolatouf
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 170
    Par défaut
    Euh oui desoler je voulait dire variable pas chaine.

    Donc ce que j'essaye de faire n'est pas ce qu'il y a de plus simple un tableau ou une autre structure serait peut etre plus aproprié?

    Merci de ton aide

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Un std::set ?

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Ou un tableau associatif (std::map) plutôt, non?
    Encore que si tu ne cherches que sur des caractères, une Lookup Table serait à la fois plus économique en temps, en code et peut-être même en mémoire...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre confirmé
    Avatar de jolatouf
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 170
    Par défaut
    Merci,

    je vais etudier tous cela.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire un test sur un programme externe
    Par marieheraud dans le forum Windows
    Réponses: 3
    Dernier message: 02/09/2004, 18h32
  2. test sur un recordset
    Par georgeabitbol dans le forum ASP
    Réponses: 2
    Dernier message: 15/07/2004, 14h39
  3. [langage] Test sur un caractère
    Par GLDavid dans le forum Langage
    Réponses: 8
    Dernier message: 07/07/2004, 18h03
  4. test sur fichiers[forms9i]
    Par Challenger dans le forum Forms
    Réponses: 6
    Dernier message: 14/06/2004, 17h25
  5. Test sur un champs vide
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 27/04/2004, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo