Instruction enum sur le C

Résolu/Fermé
amaradelll Messages postés 84 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 2 juillet 2010 - 14 févr. 2008 à 00:59
amaradelll Messages postés 84 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 2 juillet 2010 - 14 févr. 2008 à 08:21
Bonjour tous le monde.

alors, je manipule une instruction ( enum ) sur le C, mais ce que je veux, c'est comment tester si un objet appartient ou pas a cet ensemble ou pas.

Exemple:

enum Lettre { a,b,c,d }
main()
{
Lettre L; char C;

<Bloc d'instruction>

if ( C appartient à Lettre ) comment tester si le caractère C appartient a l'ensemble Lettre ou pas ( si ça existe bien sur);
}


c'est ça mon problème. j'espère que j'étais claire. Merci d'avance.

2 réponses

Bonjour

Je crois que tu fais fausse route. Quand tu définis enum Lettre { a,b,c,d }, tu ne définis pas un ensemble de 4 caractères, mais 4 constantes qui valent 0,1,2 et 3. Tu ne peux donc pas tester si un char appartient à cet ensemble.

Si tu veux tester si un caractère appartient à un ensemble, tu peux définir ton ensemble sous forme d'une chaîne :
char Lettre[]="abcd";
puis, pour chercher si un caractère s'y trouve
if (strchr(Lettre,C)) {...
(attention, si tu testes le caracère nul, il sera trouvé aussi)
0
amaradelll Messages postés 84 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 2 juillet 2010 32
14 févr. 2008 à 08:21
Merci père, c'est vrai, j'étais vraiment a côté de la plaque concernant l'instruction enum Merci pour l'éclaircissement.

et merci aussi pour l'idée de l'ensemble. j'ai pas pensé.

Merci père.
0