QBasic – Les cas
- QBasic – Introduction au QBasic
- QBasic – Ecrire sur l’écran
- QBasic – Mathématiques élémentaires
- QBasic – La ponctuation (syntaxe)
- QBasic – Les variables
- QBasic – Les commentaires
- QBasic – Les constantes
- QBasic – Entrée de données
- QBasic – Les boucles inconditionnelles
- QBasic – Les boucles conditionnelles
- QBasic – Structure conditionnelle
- QBasic – Les cas
- QBasic – Maths, logique et divers
- QBasic – Le texte
- QBasic – Le son
- QBasic – Dessiner
- QBasic – Sous-programmes, fonctions et procedures
- QBasic – Les types de variables
- QBasic – Les tableaux
- QBasic – Les types personalisés
- QBasic – L’organisation des données
- QBasic – QBasic et le système d’exploitation
- QBasic – L’accès aux fichiers
- QBasic – Le traitement des erreurs
- QBasic – La manette de jeu
- QBasic – Encore plus loin dans le graphisme
- QBasic – La mémoire
- QBasic – Le langage machine et la souris
- QBasic – L’heure, la date, le temps
- QBasic – Le clavier
Les cas sont souvent utilisés lorsqu’il faut tester une expression. Il s’agit de la structure
SELECT CASE. SELECT CASE est parfois préférable à IF…THEN…ELSE :
CLS
PRINT « Bienvenue au restaurant ‘SELECT CASE’ »
INPUT « Combien de couverts désirez vous ? », CouvertsSELECT CASE Couverts ‘ Séléction du cas
CASE 0 ‘ Premier cas : SI Couverts = 0
PRINT « Vous connaissez la sortie… »CASE 1 ‘ Deuxième cas : SI Couverts = 1
PRINT « Une table pour une personne, une ! »CASE 2 ‘ Troisième cas : SI Couverts = 2
PRINT « Haha! Un dîner en tête à tête ? »CASE 7, 13 ‘ Quatrième cas : SI Couverts = 7 OU Couverts = 13
PRINT « Désolé, ici on est superstiteux et on ne sert pas se nombre de couverts »CASE 3 TO 12 ‘ Cinquième cas : SI Couverts => 3 ET Couverts =< 6
PRINT "C'est un repas en famille ?"CASE IS > 12 ‘ Cinquième cas : SI Couverts > 6
PRINT « Mais vous êtes une armée ! »CASE ELSE ‘ Sixième cas : Tous les autres cas :
PRINT « Très drôle » ‘ SI Couverts est négatif, SI Couverts n’est pas
‘ entier …
END SELECT ‘ Fin de la séléction de cas
Détaillons ces cas :
- CASE 0, CASE 1, CASE 2 : Dans ces trois cas, on ne spécifie qu’une valeur de la
variable Couverts. Si Couverts a pour valeur0,1ou2, le cas correspondant est traité. - CASE 7, 13 : Ici, on a énuméré 2 valeurs possibles de
Couverts. SiCouvertsest
égual à7ou à13, le cas est traité - CASE 3 TO 12 : On a donné une fourchette de valeurs (de
3à12). SiCouvertsest compris
dans cet interval, le cas est traité. - CASE IS > 12 : Dans ce cas là, on a utilisé un opérateur relationnel. Donc il faut
ajouter le mot clef IS aprèsCASE. SiCouvertsest supérieur à12, le cas est traité. - CASE ELSE : Ce sont tous les autres cas. Il est traité si tous les autres cas spécifié
n’ont pas convenus.
De l’importance du positionnement des CASE
La position de chaque
CASE doit être scrupuleusement étudié. Dès qu’un cas à été traité,l’ordinateur sort de la structure. C’est à dire que les autres cas ne seront pas regardés,
même si l’un d’eux convient. Comme le confirme l’exemple suivant où l’on a mis le
CASE ELSEen première position :
CLS
PRINT « Bienvenue au restaurant ‘SELECT CASE’ »
INPUT « Combien de couverts désirez vous ? », CouvertsSELECT CASE Couverts ‘ Séléction du cas
CASE ELSE ‘ Premier cas : Tous les autres cas :
PRINT « Très drôle » ‘ SI Couverts est négatif, SI Couverts n’est pas
‘ entier …
CASE 0 ‘ Deuxième cas : SI Couverts = 0
PRINT « Vous connaissez la sortie… »CASE 1 ‘ Troisième cas : SI Couverts = 1
PRINT « Une table pour une personne, une ! »CASE 2 ‘ Quatrième cas : SI Couverts = 2
PRINT « Haha! Un dîner en tête à tête ? »CASE 7, 13 ‘ Cinquième cas : SI Couverts = 7 OU Couverts = 13
PRINT « Désolé, ici on est superstiteux et on ne sert pas se nombre de couverts »CASE 3 TO 12 ‘ Sixième cas : SI Couverts => 3 ET Couverts =< 6
PRINT "C'est un repas en famille ?"CASE IS > 12 ‘ Septième cas : SI Couverts > 6
PRINT « Mais vous êtes une armée ! »END SELECT ‘ Fin de la séléction de cas
Quelque soit la valeur de
Couverts, le cas CASE ELSE est executé. C’est pourquoi on conseillede positionner les cas dans cet ordre :
- Les cas unitaires :
CASE 0,CASE 1,CASE 2 - Les énumérations :
CASE 7, 13 - Les intervalles :
CASE 3 TO 12 - Les cas relationnels :
CASE IS > 12 - Le cas autre :
CASE ELSE