CASE

CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007 - 15 janv. 2005 à 22:57
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 16 janv. 2005 à 15:27
Bonjour,

j'ai une variable de type char "choix"; je voudrais utiliser cette variable dans un switch mais il ne veut pas

switch(choix)
{
case 'maison' : printf("maison"); break;
case 'jardin' : printf("jardin'); break;
default : printf("rien"); break;
}

mais il ne veut pas quelq'un peut m'aider ?

DOS-chkdsk-2K5

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 janv. 2005 à 23:33
Si tu veux comparer à "maison" alors devra etre:
char choix[256]; // par exemple
et non
char choix;

comparaison se fait avec strcmp().

ciao...
BruNews, MVP VC++
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
16 janv. 2005 à 00:09
salut
un char = 8bits, c'est un nombre entre -127 et 128 compris...

char n'est pas une chaine de caractères...
*char peut être une chaine de caractères car c'et un pointeur de n char...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happyhttp://coucou747.hopto.org
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 janv. 2005 à 11:28
les switch ne permette de tester que des entiers il me semble !


DarK Sidious

[Administrateur et responsable VB/API du site ProgOtoP]
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 janv. 2005 à 11:38
Dans les 'case', ce ne sont pas des entiers mais des constantes qu'il faut.
Mais bon, vu que c'est sur des chaines qu'il doit operer, le probleme ne se pose plus.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
16 janv. 2005 à 15:27
En fait ce sont des entiers constants qu'il faut: une variable int est refusée, et 3.14 aussi
0
Rejoignez-nous