next up previous contents index
suivant: Le passage par valeur monter: main précédent: Booléens et expressions logiques   Table des matières   Index


Instruction conditionnelle if

Sa forme la plus simple a une condition et une branche. La condition doit figurer entre des parenthèses, et son type doit être bool ou convertible en un bool. La branche, placée entre { et } est exécutée lorsque la valeur de la condition est true.


if (discriminant(a,b,c) < 0) {
  cout << "l'équation n'a pas de solution réelle" << endl;
}

Dans la forme à deux branches, la première est exécutée quand la valeur de la condition est true ; la seconde est exécutée quand cette valeur est false.


  if (delta < 0) {
    cout << "l'équation n'a pas de solution réelle" << endl;
  } else {
    double r = sqrt(delta);
  }

Enfin, la branche else peut elle-même contenir un if (et ainsi de suite), ce qui conduit à l'imbrication suivante :


  if (delta < 0) {
    cout << "l'équation n'a pas de solution réelle" << endl;
  } else if (delta == 0) {
    x1 = -b/2*a;
    cout << "l'équation a une solution x1 = " << x1 << endl;
  } else {
    double r = sqrt(delta);

    x1 = (-b - r)/(2*a);
    x2 = (-b + r)/(2*a);
    cout << "l'équation a deux solutions "
         << "x1 = " << x1
         << ", x2 = " << x2 << endl;
  }



R Lalement