Operations sur type enum en C
Fermé
thotoss
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche a effetuer des operations sur un type enum que j'ai defini ainsi :
typedef enum phrase {
"Il fait beau",
"Il pleut",
"Il neige"
};
Voila, une fois le type definie, je voudrais savoir comment comparer 2 valeur du type enum, et comment en initialiser une a la premiere valeur de phrase, c'est a dire "Il fait beau" .
1/
Ainsi j'ai une fonction qui prend obligatoirement en parametre un int, et qui renvoi obligatoirement un char* correspondant a la valeur du type enum en fonction de i :
const char *fonction1(int i);
ainsi si i = 1, const char *fonction(int i) renvoi "Il pleut". Comment faire ?
2/ J'ai un 2e question : meme fonction mais qui renvoi une valeur du type enum :
enum phrase fonction2(int i);
de méme si i=2 , enum phrase fonction2(int i) renvoi "Il neige". Comment faire ?
Merci si vous pouvez m'adier parsque je suis un peu perdu et je ne trouve nulle part une explication !
Cordialement,
Je cherche a effetuer des operations sur un type enum que j'ai defini ainsi :
typedef enum phrase {
"Il fait beau",
"Il pleut",
"Il neige"
};
Voila, une fois le type definie, je voudrais savoir comment comparer 2 valeur du type enum, et comment en initialiser une a la premiere valeur de phrase, c'est a dire "Il fait beau" .
1/
Ainsi j'ai une fonction qui prend obligatoirement en parametre un int, et qui renvoi obligatoirement un char* correspondant a la valeur du type enum en fonction de i :
const char *fonction1(int i);
ainsi si i = 1, const char *fonction(int i) renvoi "Il pleut". Comment faire ?
2/ J'ai un 2e question : meme fonction mais qui renvoi une valeur du type enum :
enum phrase fonction2(int i);
de méme si i=2 , enum phrase fonction2(int i) renvoi "Il neige". Comment faire ?
Merci si vous pouvez m'adier parsque je suis un peu perdu et je ne trouve nulle part une explication !
Cordialement,
A voir également:
- Operations sur type enum en C
- Clear type - Guide
- Type de ram - Guide
- Comment changer le type de fichier - Guide
- Chat type coco - Accueil - Réseaux sociaux
- Click-n-type - Télécharger - Vie quotidienne
7 réponses
8-/ ça fonctionne comme ça ton enum ???
Pour moi, un enum ne s'utilise pas du tout comme ça !
Si ça compile, je retourne voir mes cour, mais sinon, je te conseil d'aller revoir tes cours.
enum phrase{il_fait_beau=0,var2=1,var3=2};
Pour moi, un enum ne s'utilise pas du tout comme ça !
Si ça compile, je retourne voir mes cour, mais sinon, je te conseil d'aller revoir tes cours.
enum phrase{il_fait_beau=0,var2=1,var3=2};
si j'initialise le type enum comme toi, cela me met 2 erreur par ligne a la compilation :
ex :
140: erreur: stray «\303» in program
140: erreur: stray «\251» in program
donc je ne sais pas pourquoi ...
ex :
140: erreur: stray «\303» in program
140: erreur: stray «\251» in program
donc je ne sais pas pourquoi ...
ok c'est bon désolé j'ai resolu ce probleme ça compile corrctement avec le type enum bien initialisé !
Mais pour aprés je suis toujours coincé ! Merci si vous pouvez m'aider !
Mais pour aprés je suis toujours coincé ! Merci si vous pouvez m'aider !
pour le reste, je ne sais pas trop, mais je ne pense pas que le type enum soit le mieux adapté à ce que tu veux faire.
Si je comprends bien, tu veux associé un entier à une chaine de caractère.
tu peux faire une tableau :
const char** phrase={"il pleut","il fait beau","il neige"};
fonction1 devient : fonction1(int i){return phrase[i];}.
Si je comprends bien, tu veux associé un entier à une chaine de caractère.
tu peux faire une tableau :
const char** phrase={"il pleut","il fait beau","il neige"};
fonction1 devient : fonction1(int i){return phrase[i];}.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'était egalement l'idée que j'avai eu, de passer par un tableau de pointeur char a 2 dimensions, mais l'énoncé est stricte, il faut utiliser un type enum... donc je ne vois pas du tout et je bloque ! merci quans meme ...