pb pour fermer une boucle (calculatrice) - C - Programmation
Marsh Posté le 24-05-2009 à 15:01:20
Tu entre quoi exactement comme entrée pour tester ton truc ?
Marsh Posté le 24-05-2009 à 15:26:40
Ceci n'est pas du C++.
Je déplace dans la catégorie C et j'ajoute des balises [code] pour plus de lisibilité.
Marsh Posté le 24-05-2009 à 15:57:49
J'entre des entiers pour faire des calcul simple par ex des additions etc mais après j'arrive pas a revenir au menu principal
Marsh Posté le 24-05-2009 à 18:03:46
Evite les scanf ou alors utilise une focntion qui "purge le clavier" par exemple
Code :
|
à appeler après chaque scanf.
Marsh Posté le 24-05-2009 à 22:29:53
Y'a effectivement un truc qui ne va pas :
ajy1 a écrit :
|
Pour sortir de ta boucle des opérations, il faut que ta variable "o" soit égale au caractère "r", mais pour revenir au menu, il faut qu'elle soit égale à "m", sachant qu'elle ne change pas de valeur entre-temps. A part une variable quantique, il n'y a pas trop moyen de sortir de ces deux boucles
Marsh Posté le 25-05-2009 à 11:19:00
Turkleton a écrit : Y'a effectivement un truc qui ne va pas : |
Turkleton a écrit : |
J'avais vu ce truc aussi, c'est pour ça que je voulais savoir ce qu'il entrait EXACTEMENT au clavier pour tester son truc ...
Marsh Posté le 25-05-2009 à 22:36:17
sauf que à part les lévriers afghans, personne n'utilise fflush(stdin) qui est non-standard, non compatible avec tous les compilateurs ....
Marsh Posté le 25-05-2009 à 22:51:36
ah wer .... ça existe aussi dans les langages canins la fonction ?
perso avec gcc, ça a toujours marché que ça soit sur windows ou linux.
Marsh Posté le 25-05-2009 à 22:58:54
Sais-tu ce que signifie "non-standard" ?
Cela veut dire que le comportement n'est pas décrit par les normes. Et donc que tu ne peux être sûr de ce que cela va donner, en fonction de l'OS sur lequel ça tourne, ET en fonction du compilateur utilisé.
Après, tu fais c'que tu veux, hein.
Marsh Posté le 26-05-2009 à 08:18:42
Nethacker a écrit : ah wer .... ça existe aussi dans les langages canins la fonction ? |
La norme dit que le comportement de fflush() n'est défini que sur les flux sortants. stdin est un flux entrant. Le comportement est donc indéterminé.
Sous DOS/Windows, il est possible que dans des cas plus ou moins spécifiés (lire la doc de chaque compilateur), l'usage de fflush() avec stdin soit défini. Mais ce n'est pas standard, et donc, ce comportement n'est pas garanti. Une solution standard et portable a été indiquée.
http://www.bien-programmer.fr/notes.htm#saisie
http://www.bien-programmer.fr/notes.htm#fichiers
Marsh Posté le 24-05-2009 à 13:36:24
Bonjour a tous , voila j'ai un petit soucis , je n'arrive pas à fermer la 1ere boucle , en fait après avoir fait une opération simple, je n'arrive pas a retourner vers le menu après que l'opération soit fini.
Je me tourner vers vous pour que vous puissiez m'aider svp
Merci d'avance
Voici le debut du programme :
Message édité par Elmoricq le 24-05-2009 à 15:27:08