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; }