EMSIEN
Messages postés194Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention11 juin 2009
-
11 oct. 2004 à 22:29
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
12 oct. 2004 à 17:18
Bonjour Voilà J’ai rencontré un problème Lors de l’utilisation d’une instruction switch,
D’abord je veux réaliser une fonction permettant de retourner le maximum d’un mois entré au clavier, le problème est que Dans les 2 premiers Case Quand je saisie Par exemple comme Mois (1,3,5,7,8,10 Dans le 1er Case)(4,6,9 Dans le 2ème Case) il me retourne une valeur fausse par contre quand je saisie (12 ou bien 11) Il me retourne une valeur Juste : Déduction :
Je crois que le case n’est valable que pour une seule valeur.
Ma question est : Est-ce que y a pas un moyen pour remedier à ce problème sans Faire Ceci :
Case 1: max=31;break;
Case 3: max=31;break;
Case 5: max=31;break;
Case 7: max=31;break;
Case 8: max=31;break;
…….. Ainsi de suite.
J’espère que j’étais assez Clair Merci pour Vos réponses.
Ma fonction :
positif duree_mois(positif m,positif a)
{
positif max=0;
booleen bissextilite =biss(a);
//Décalaration & initialisation d'une booleenne ayant pour
// résultat de biss(a)
switch(m){
case 1,3,5,7,8,10,12: max=31;break;
case 4,6,9,11: max= 30;break;
case 2:if( bissextilite == vrai){ max=29; break;}
else max=28; break;
default:;break;
};
return max;
}
EMSIEN
Messages postés194Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention11 juin 2009 11 oct. 2004 à 23:17
Pour hades j'ai pas Compris ce que t'as voulu dire et Pour Ymca2003 merci pour l'info mais je cherche cette reponse pr ce prob et pour autre chose donc si t'as du new n'haésite surtt pas.
merci comme meme.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 11 oct. 2004 à 23:38
ce qu'à voulu dire hades53 c'est que chaque "case" ne peut être associé qu'à une seule valeure entière, donc case 1, 2,3 n'est pas possible. en revanche, si tu omet le break dans un "case", il plonge dans le suivant donc tu peux faire ;
switch(m)
{
case 1: //no break
case 3: //no break
case 5: //no break
case 7: //no break
case 8: //no break
case 10: //no break
case 12: max=31;break;
case 4: //no break
case 6: //no break
case 9: //no break
case 11: max= 30;break;