Retour Suite Index

5.3. if - else if - ... - else

En combinant plusieurs structures if - else en une expression nous obtenons une structure qui est très courante pour prendre des décisions entre plusieurs alternatives:

if - else - ... - else

if ( <expr1> ) 
      <bloc1>
   else if (<expr2>)
      <bloc2>
   else if (<expr3>)
      <bloc3>
   else if (<exprN>)
      <blocN>
   else <blocN+1>

Les expressions <expr1> ... <exprN> sont évaluées du haut vers le bas jusqu'à ce que l'une d'elles soit différente de zéro. Le bloc d'instructions y lié est alors exécuté et le traitement de la commande est terminé.

Exemple

#include <stdio.h>
void main(void)
{
 int A,B;
 cout<<"Entrez deux nombres entiers :";
 cin>>A>>B;
 if (A > B) 
     cout<<"A est plus grand que B"<<endl;
 else if (A < B) 
     cout<<"A est plus petit que B"<<endl;
 else 
     cout<<"A est égal à B"<<endl;
 return 0;
}

La dernière partie else traite le cas où aucune des conditions n'a été remplie. Elle est optionnelle, mais elle peut être utilisée très confortablement pour détecter des erreurs.

Exemple

...
cout<<"Continuer (O)ui / (N)on ?";
cin>>C;
if (C=='O')
     {
      ...
     }
else if (C=='N')
     cout<<"Au revoir ..."<<endl;
else
     cout<<"Erreur d'entrée !"<<endl;
...

Retour Suite Index