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 :

peut on incrémenter un enumération


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Par défaut peut on incrémenter un enumération
    bonjour,
    est ce qu'on peut incrémenter un type d'énumeration?
    je m'explique: supposons qu'on a l'énumération suivante:
    enum jour {lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche};

    est ce qu'on peut faire plus loin dans le code " jour++"?
    merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Bonjour,

    De manière générale je dirais non...
    Après tu peux fixer toi même les valeurs de ton enum:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    typedef enum {
       lundi = 1,
       mardi = 2,
       mercredi = 3,
       jeudi = 4,
       vendredi = 5,
       samedi = 6,
       dimanche = 7,
    } jour;
    De cette manière il est possible d'itérer, puisque tu connais les valeurs min et max de ton enum...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Par défaut
    merci Fabllot pour ta réponse,
    donc si j'ai bien compris, en fixant des valeurs je peux faire l'itération..?!!!.
    mais je croiyais que les valeurs se fixent automatiquement..il suffit de mettre le premier a 0 et les autres se font automatiquement...non?!!!

  4. #4
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Citation Envoyé par bellevue Voir le message
    est ce qu'on peut faire plus loin dans le code " jour++"?
    Je suppose que jour est de type enum jour ? donc oui, aucun problème.

    Citation Envoyé par Fabllot
    Après tu peux fixer toi même les valeurs de ton enum:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typedef enum {
       lundi = 1,
       mardi = 2,
       mercredi = 3,
       jeudi = 4,
       vendredi = 5,
       samedi = 6,
       dimanche = 7,
    } jour;
    Ceci peut tout simplement s'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typedef enum {
       lundi = 1,
       mardi,
       mercredi,
       jeudi,
       vendredi,
       samedi,
       dimanche
    } jour;

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Par défaut
    est ce qu'il faut que j'initialise jour ( jour=lundi per exemple) dans le main????
    ou je peux faire directement appelle a jour et je l'incrémente directement????

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par bellevue Voir le message
    bonjour,
    est ce qu'on peut incrémenter un type d'énumeration?
    je m'explique: supposons qu'on a l'énumération suivante:
    enum jour {lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche};

    est ce qu'on peut faire plus loin dans le code " jour++"?
    merci d'avance
    Même si dans ton cas (des jours) cela présente un certain sens, en général, cela n'a pas de sens. Imagine une enum de couleurs.
    De plus, "dimanche++" ne sera jamais lundi, il faudra faire un traitement par programme.


    Citation Envoyé par bellevue Voir le message
    mais je croiyais que les valeurs se fixent automatiquement..il suffit de mettre le premier a 0 et les autres se font automatiquement...non?!!!
    Plusieurs possibilités pour l'initialisation :
    • Ne rien mettre, la 1ere valeur vaut 0 et les autres valeurs se suivent.
    • Mettre une valeur à un item, les valeurs suivantes sont automatiquement incrémentées par le compilateur.
    • Mettre des valeurs (même non ordonnées) à un ou tous les items, le compilateur se débrouille. Une erreur sera émise s'il y a collision de valeurs entre les items.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Par défaut
    moi ce que je voudrais faire ce n'est pas dimanche++...mais jour++ et je voudrais que la boucle se fasse sur les elements de l'enum,....en faisant jour++ si le jour étai à 1(lundi) il passera a 2 (mardi et ainsi de suite

    prenons un autre exemple:
    typedef enum
    {
    tube1,
    tube2,
    tube3,
    tube4
    } pipe

    si les valeurs sont défini automatiquement je peux bien donc faire "pipe++"...?!!
    et donc je passerai d'un element à autre..
    je ne sais pas si j'ai bien expliquer ma question

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    typedef enum { tube1, tube2, tube3, tube4 } pipe;
    pipe val = tube4;
    val++;
    A la sortie de ce bout de code, val vaut 5 ce qui est en dehors du domaine de validité de ton énumération. C'est pour cela que je dis que ++ sur une enum n'a pas de sens.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Par défaut
    oook....
    merci bcp tout le monde

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/07/2011, 13h01
  2. Peut on incrémenter des ports?
    Par Sarriuss dans le forum LabVIEW
    Réponses: 10
    Dernier message: 21/10/2009, 14h22
  3. [PHP-JS] Peut on incrémenter dans un echo ? Merci
    Par guillaumeIOB dans le forum Langage
    Réponses: 6
    Dernier message: 08/03/2007, 13h49
  4. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46
  5. Un Sender peut-il s'auto-détruire lors d'un onClick?
    Par Flo. dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/07/2002, 10h31

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