Lire une variable de type énuméré au clavier
Fermé
Bonsoir,
Je voudrais savoir quelle est,en langage C,la syntaxe exacte de la commande pour saisir une variable d'un type énum au clavier.
De meme qu'on utilise "%d" pour lire un entier,"%f" pour un réel,"%s" pour une chaine de charactères,etc. , quelle est la lettre correspondant à une variable de type énum?
Merci d'avance.
Je voudrais savoir quelle est,en langage C,la syntaxe exacte de la commande pour saisir une variable d'un type énum au clavier.
De meme qu'on utilise "%d" pour lire un entier,"%f" pour un réel,"%s" pour une chaine de charactères,etc. , quelle est la lettre correspondant à une variable de type énum?
Merci d'avance.
A voir également:
- Lire une variable de type énuméré au clavier
- Lire epub - Guide
- Clavier de l'ordinateur - Guide
- Comment taper / sur clavier - Guide
- Telecharger clavier arabe تنزيل لوحة المفاتيح العربية - Télécharger - Divers Web & Internet
- Comment lire un message supprimé sur whatsapp - Guide
3 réponses
Hello !
En C, un type énuméré est assimilé à un entier.
Avec printf, tu peux utiliser %d comme pour les entiers (attention au respect des bornes).
Tu peux aussi utiliser %s si la saisie fournit une chaîne comme dans l'exemple ci-dessous :
Take care !
En C, un type énuméré est assimilé à un entier.
Avec printf, tu peux utiliser %d comme pour les entiers (attention au respect des bornes).
Tu peux aussi utiliser %s si la saisie fournit une chaîne comme dans l'exemple ci-dessous :
#include <stdio.h> #include <string.h> typedef enum couleur { bleu, blanc, rouge, noir } couleur; int main() { char Chaine[100]; couleur Couleur = noir; scanf("%s", Chaine); if (!strcmp(Chaine, "bleu")) Couleur = bleu; if (!strcmp(Chaine, "blanc")) Couleur = blanc; if (!strcmp(Chaine, "rouge")) Couleur = rouge; if (!strcmp(Chaine, "noir")) Couleur = noir; printf("%d\n", Couleur); }
Take care !
OK mais dans ton exemple tu ne lis pas directement au clavier la variable de type énuméré,tu passes par une chaine de caractères.Il est donc impossible de la lire directement?
(avec la syntaxe :
"typedef enum couleur ...
couleur Couleur;
scanf("%?",&Couleur); "
(avec la syntaxe :
"typedef enum couleur ...
couleur Couleur;
scanf("%?",&Couleur); "