problème de logique - C++ - Programmation
Marsh Posté le 16-02-2003 à 21:00:58
ta condition est fausse : sortie sera toujours égale à 1 quoi que tu rentres ! un peu de logique enfin...
si tu rentres 1, alors les tests (choix != 2), (choix != 3)et (choix != 4) seront vrais, et sortie sera égale à 1, etc...
met plutot ceci :
sortie = ((choix != 1) && (choix != 2) && (choix != 3) && (choix != 4));
ça devrait aller mieux si tu veux que sortie soit égale à 1 si tu rentres une valeur différente de 1,2,3 ou 4.
Ou mieux : sortie = (choix > 4);
edit: grilled
Marsh Posté le 16-02-2003 à 21:02:41
Code :
|
c'est plutot un problème d'algo
Marsh Posté le 16-02-2003 à 21:18:52
Harkonnen a écrit : ta condition est fausse : sortie sera toujours égale à 1 quoi que tu rentres ! un peu de logique enfin... |
merci ça marche now !!!! merci beaucoup !!!
Marsh Posté le 16-02-2003 à 20:48:25
bon voila j'ai un problème de condition dans une partie. j'ai la portion de code suivant :
sortie = ((choix != 1) || (choix != 2) || (choix != 3) || (choix != 4));
printf("\n%d\n", sortie);
if (sortie) {printf("Choix non valide ! taper 1,2,3 ou 4" );}
avec choix et sortie deux entiers et avant un petit scanf("%d", &choix);
or pour n'importe quelle choix (1,2,3,4 ou 78 par exemple) j'ai toujours sortie égale à 1.
or quand je mes juste sortie = (choix != 1); j'ai bien la condition vérifié et je peux sortir de ma boucle.
bref dés que je mes le || OU logique ça déconne.
quelqu'un aurait une idée d'ou ça foire ?
Message édité par lordankou le 16-02-2003 à 20:49:22
---------------