petit souci avec le do ..... while
le programme s’exécute mais sans tenir compte de do while que si la variable est egale à 10 alors le programme est terminé
Version imprimable
petit souci avec le do ..... while
le programme s’exécute mais sans tenir compte de do while que si la variable est egale à 10 alors le programme est terminé
Bonjour,
Bienvenue dans le forum.
Première chose : il ne fait pas mettre du code dans une image comme tu l'as fait, mais dans des balises code (le # dans l'éditeur de post).
Ensuite, sous quelle condition ta boucle do...while doit s'arrêter ?
Bonjour.
Petit indice, si d'après toi a!=((10)||(-10)) signifie tant que a est différent de 10 ou -10, ça ne fait absolument pas ce que tu crois.
Pour vérifier ces deux valeurs, on utilise a!=10 || a!=-10.
merci , mais ici la condition est que si le nbre saisie est =10 ou -10 le programme devrai normalement se terminé
merci pour votre aide
merci beaucoup Daïmanu ta proposition marche à merveille
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #include <stdio.h> int main () { int a; a=0; do { printf ("votre valeur :\n"); scanf("%d",&a); if (a>0) printf ("votre nbre est positif :\n"); else { if(a<0) printf ("votre valeur est negaif :\n"); else printf("votre valeur est nulle \n"); } } while (a!=10 || a!=-10); printf ("fini le jeu:\n"); getchar (); return 0; }]
while (a!=10 || a!=-10);
printf ("fini le jeu:\n");
getchar ();
return 0;
Es-tu sûr de ce que tu affirmes ?
Relis-toi bien… ;)
Et pourtant ça ne devrait pas parce qu'il y a encore une erreur : si on écrit « a!=10 || a!=-10 », cela signifie « si a est différent de 10, ou six a est différent de -10 ». Or, si a vaut 10, elle est forcément différente de -10, et vice versa. L'expression est donc toujours vraie, que a vaille 10, -10, ou toute autre valeur.
Il fallait en fait dire : « si a est différente de 10 ET si a est également différente de -10 », soit « a!=10 && a!=-10 »
bonjour ; et merci pour ta proposition je m'en rend compte que je me suis trompais largement sur (a!=10 || a!= -10) mais plutot
un et logique
&& vraiment merci Obsidian
Bonsoir,
Le fameux théorème de De Morgan : not(a+b) = not(a).not(b) ;)