cinezone a écrit :
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
|
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...
Message édité par Sve@r le 01-12-2005 à 11:07:02
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.