Condition while impossible
Résolu/Fermé
Programath
Messages postés
5
Date d'inscription
jeudi 9 décembre 2021
Statut
Membre
Dernière intervention
17 décembre 2021
-
14 déc. 2021 à 19:39
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 - 15 déc. 2021 à 14:58
[Dal] Messages postés 6193 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 4 juillet 2024 - 15 déc. 2021 à 14:58
A voir également:
- Condition while impossible
- Excel cellule couleur si condition texte - Guide
- Condition et excel - Guide
- Excel copier une cellule si condition ✓ - Forum Excel
- Excel soustraction avec condition ✓ - Forum Excel
- Excel colorer une cellule sous condition d'une autre cellule ✓ - Forum Excel
4 réponses
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
15 déc. 2021 à 11:39
15 déc. 2021 à 11:39
C'est un erreur très fréquente que presque tout le monde a fait au moins une fois.
On connait la condition de sortie qui est : "je veux ceci OU cela".
Comme on doit écrire la condition pour recommencer c'est l'inverse : "je ne veux ni ceci ni cela". Et on a toujours le OU en tête. Mais le test à faire est bien : "je ne veux pas ceci ET je ne veux pas cela". On peut aussi l'écrire : je veux l'inverse de "ceci ou cela". Ce qui donne ici:
Ça se retrouve par l'algèbre de Boole ou par le bon sens.
On connait la condition de sortie qui est : "je veux ceci OU cela".
Comme on doit écrire la condition pour recommencer c'est l'inverse : "je ne veux ni ceci ni cela". Et on a toujours le OU en tête. Mais le test à faire est bien : "je ne veux pas ceci ET je ne veux pas cela". On peut aussi l'écrire : je veux l'inverse de "ceci ou cela". Ce qui donne ici:
} while (choix!=1 && choix!=3 && choix!=4);
// ou bien en faisant mieux apparaitre la condition de sortie
} while ( !(choix==1 || choix==3 || choix==4) );
Ça se retrouve par l'algèbre de Boole ou par le bon sens.
_Ritchi_
Messages postés
21256
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
5 septembre 2024
6 069
14 déc. 2021 à 21:15
14 déc. 2021 à 21:15
Bonsoir,
Pour que la boucle s’arrête, il faut que la condition soit fausse, ce qui n’est jamais le cas...
Ritchi
Pour que la boucle s’arrête, il faut que la condition soit fausse, ce qui n’est jamais le cas...
Ritchi
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
15 déc. 2021 à 07:52
15 déc. 2021 à 07:52
Bonjour,
Et oui, ta condition est toujours vraie. Ton "OU" n'est pas une bonne idée.
Prenons des exemples:
- si choix vaut 9, ça revient à faire : si VRAI OU VRAI OU VRAI, 3 bonnes raisons pour être VRAI.
- si choix vaut 1, ça revient à faire : si FAUX OU VRAI OU VRAI, 2 bonnes raisons pour être VRAI.
Et tu sûr que c'est bien "OU" qu'il faut utiliser?
Et oui, ta condition est toujours vraie. Ton "OU" n'est pas une bonne idée.
Prenons des exemples:
- si choix vaut 9, ça revient à faire : si VRAI OU VRAI OU VRAI, 3 bonnes raisons pour être VRAI.
- si choix vaut 1, ça revient à faire : si FAUX OU VRAI OU VRAI, 2 bonnes raisons pour être VRAI.
Et tu sûr que c'est bien "OU" qu'il faut utiliser?
Programath
Messages postés
5
Date d'inscription
jeudi 9 décembre 2021
Statut
Membre
Dernière intervention
17 décembre 2021
15 déc. 2021 à 10:48
15 déc. 2021 à 10:48
D'accord je viens de comprendre… En remplaçant par && ça fonctionne bien !
Merci pour vos réponses ;)
Merci pour vos réponses ;)
15 déc. 2021 à 14:58
Je trouve que cela se lit plus naturellement comme : tant qu'on n'est pas dans l'une des situations suivantes ...