Question dsur l'instruction switch

[Résolu]
Signaler
Messages postés
13
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
21 avril 2005
-
Messages postés
13
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
21 avril 2005
-
Salut,

je voudrais savoir si il est possible avec l'instruction switch et les case de prendre une plage de valeurs plutot qu'une valeur constante.

Je sais que c'est possible avec VisualBasic en faisant par exemple:

select case (i)
case 1 to 100 //pour les valeurs de 1 à 100
end select

j'aimerais savoir si il existe un équivalent en C.

voila, voilou!
merci!

9 réponses

Messages postés
13
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
21 avril 2005

ok, merci pour vos reponses.
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Il te 'suffit' de faire

case 1:
case 2:
case 3:
...
case 100:

et remplacer les ... par ce qu'il faut, mais c'est long a écrire, un if est plus adapté ici
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
si t'as un entier tu fais
if (i >= 1 && i <= 100)
je vois pas pourquoi tu te casse la tete.
si ton probleme est que ton nombre est un nombre a virgule
if (i >= 1 && i <= 100 && i - int (i) == 0)

et voila
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
ou i == int (i)

pareil et plus simple a écrire lol
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
petite précision, ca c'etait en C++, mais a l'ancienne norme.
en c tu fais
(int) i == i
et pour coller vraiment a la norme du c++ et faire ds le tres tres tres propre (et meme ds l'exces) tu fais
reinterpret_cast (i) == i
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Tu trouves que c'est lui qui se casse la tête?
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
bah si c'est un int oui, si c'est un double je lui donne juste les differentes écritures. moi j'utilise int (i) en c++ paske c'est plus joli (ca fait un peu "fonction" je trouve ca plus lisible) apres j'ai juste donné les autres écritures que je connaissais, c'est plus pour la culture generale, et puis j'ai bien précisé que c'etait pousser le bouchon un peu loin. et j'ai tout précisé surtout ne sachant pas s'il etait en c ou en c++
Messages postés
933
Date d'inscription
dimanche 1 avril 2001
Statut
Modérateur
Dernière intervention
9 janvier 2012
2
dis moi pour 1 ligne de code trivale 4 msg ! bravo ;)

@+
Arnotic,
Admin CS, MVP Visual C++
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Surtout que personne n'avait jamais parlé de flottants...