Rechercher : dans
Par :

Lire une variable de type énuméré au clavier

Dernière réponse le 28 sep 2004 à 21:55:51 Yakurena, le 27 sep 2004 à 22:53:38 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « Lire une variable de type énuméré au clavier » dans :
Les variables en C++ VoirLes variables en C++ 1. Les différents types de variables 1.1 bool 1.2 char 1.3 unsigned short int 1.4 short int 1.5 unsigned long int 1.6 long int 1.7 int (16 bits) 1.8 int (32 bits) 1.9 unsigned int (16 bits) 1.10 unsigned int (32...
Quelques règles typographiques VoirPonctuation : les règles typographiques à respecter Point . Virgule , Point-virgule ; Deux-points : Point d'interrogation ? Point d'exclamation ! Points de suspension ... Parenthèses ( ) Guillemets « » Crochets Tiret long...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...
Le clavier VoirPrésentation du clavier Le clavier (en anglais keyboard) permet, à la manière des machines à écrire, de saisir des caractères (lettres, chiffres, symboles ...), il s'agit donc d'un périphérique d'entrée essentiel pour l'ordinateur, car c'est...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

1

Jolkdarr, le 27 sep 2004 à 23:40:43

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 :

#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 !

Répondre à Jolkdarr

2

Yakurena, le 28 sep 2004 à 19:25:46

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); "

Répondre à Yakurena

3

 Jolkdarr, le 28 sep 2004 à 21:55:51

Hello !

À part des nombres ou des chaînes de caractères, je ne vois pas bien ce que tu pourrais entrer de plus.
Tu as peut-être un clavier avec des énumérés sur les touches. ;)

Take care !

Répondre à Jolkdarr
Collection CommentÇaMarche.net