next up previous contents index
suivant: Constantes énumérées monter: main précédent: Caractères   Table des matières   Index


Instruction d'aiguillage switch

Il est souvent utile d'exécuter une instruction en fonction de la valeur d'un entier ou d'un caractère ; cpp offre une instruction composée, switch, pour cela. L'exemple suivant pourrait servir, avec quelques lignes supplémentaires, à compter les voyelles et les consonnes d'un texte :


  switch(c) {
    case 'a': 
    case 'e': 
    case 'i': 
      voyelles = voyelles + 1;
      break;
    case 'b': 
    case 'c': 
    case 'd': 
      consonnes = consonnes + 1;
      break;
    default: 
      autres = autres + 1;
  }

L'instruction d'aiguillage switch se compose d'une expression et d'un bloc d'instructions étiquetées (par un case ou par default).

La valeur de c est successivement comparée à la valeur de chacune des expressions constantes figurant à droite de case. Dès qu'il y a un cas d'égalité, l'instruction suivant ce case est exécutée, ainsi que toutes les instructions suivantes, jusqu'à la fin du bloc ou jusqu'à un échappement : les instructions break ou return. Si aucune égalité n'est vérifiée, ce sont les instructions qui suivent le cas default qui sont exécutées.

Dans les usages courants du switch, chaque cas (non-vide) doit être terminé par un échappement. Dans l'exemple qui suit, c'est << ab même si c'est un a >> qui est affiché à l'écran, quand c est égal à 'a' :


  switch(c) {
    case 'a':
      cout << "a"; 
    case 'b': 
      cout << "b même si c'est un a"; 
    default: ...
  }


next up previous contents index
suivant: Constantes énumérées monter: main précédent: Caractères   Table des matières   Index
R Lalement