demander("Tapez
un nombre compris entre 1 et 5", nombre); while (nombre < 1 || nombre > 5) demander("Tapez un nombre compris entre 1 et 5", nombre); |
Le problème de cette version est que
l'on est obligé de répéter le demander ce qui
semble redondant |
nombre = 6; while (nombre < 1 || nombre > 5) demander("Tapez un nombre compris entre 1 et 5", nombre); |
Cette version résout le
problème du demander redondant
mais force l'entrée dans la boucle par une initialisation
totalement artificielle de nombre |
do { instruction1; ... instructionx; } while (expressionBool); /* fin du do ... while */ |
do demander("Tapez un nombre compris entre 1 et 5", nombre); while (nombre < 1 || nombre > 5); /* fin du do ... while */ |
Dans cette version, il n'y a pas redondance, il n'y a pas d'initialisation artificielle. Le do ... while est parfaitement adapté à ce genre de problème. |