Problème avec if - C - Programmation
Marsh Posté le 01-12-2005 à 10:48:17
je te conseille plutot
Code :
|
Marsh Posté le 01-12-2005 à 11:04:05
cinezone a écrit : Bonjour, |
Bon, déjà il faut apprendre que "main" est de type "int" et pas "void".
Ensuite, ton "flag=2" final est inutile puisque si rien ne correspond, flag vaut déjà 0 et cela ne sert à rien de lui mettre 2.
Enfin, un test "if (saison == 1 && (mois == 1 || mois == 2 || mois == 3)" bien que correct peut s'écrire aussi plus simplement "if (saison == 1 && mois >=1 && mois <= 3)"
Bon, mis à part ces remarques qui n'influent en rien le fonctionnement, je ne vois pas trop pourquoi ton pgm ne fonctionne pas. Les tests écrits sont corrects.
Essaye d'afficher "saison" et "mois" juste après la saisie pour voir ce que le pgm reçoit réellement.
PS: c'est pas recommandé un "scanf" avec plusieurs valeurs à la fois. Cela t'impose de saisir sur une ligne un premier nombre suivi d'un espace puis un second nombre et si tu respectes pas le format (le "f" signifie "format" ) imposé, "scanf" pige plus rien...
Marsh Posté le 01-12-2005 à 14:05:41
cinezone a écrit : Je dois réaliser un petit programme en C pour apprendre. Le problème se situe au niveau des conditions (trop complexes ?). |
La logique est correcte, mais le codage est trop complexe. Essaye ça et pose des questions si tu ne comprends pas.
|
Marsh Posté le 01-12-2005 à 10:14:23
Bonjour,
Je dois réaliser un petit programme en C pour apprendre. Le problème se situe au niveau des conditions (trop complexes ?).
Je souhaiterai faire comme condition si saison==1 et (mois==1 ou mois==2 ou mois==3) mais ça ne fonctionne que si je rentre 1 pour saison et 1 pour le mois.
Merci d'avance
Message édité par cinezone le 01-12-2005 à 10:17:07