A voir également:
- Switch en c++
- Android switch - Accueil - Android
- Smart switch pc - Télécharger - Divers Bureautique
- Switch off - Télécharger - Divers Utilitaires
- Logiciel switch - Télécharger - Conversion & Extraction
- Switch qwerty azerty - Guide
2 réponses
Tu n'est pas oblige de mettre "default" mais c'est vivement conseille.
Pourquoi ? Si le programme execute le default alors qu'il n'est pas cense, ca veut dire qu'il y a un probleme de logique et que la condition que tu testes prend une valeur inatendue.
Quoi mettre ? A toi de gerer cette valeur inattendue. Tu peux faire que la fonction retourne un code d'erreur, ou mettre un assert(false). A toi de voir ce qui convient a ton programme. Le minimum est d'au moins mettre un commentaire dans le code disant que le programme ne doit pas atteindre le cas par "default". Si c'est vraiment ca que tu veux.
Pourquoi ? Si le programme execute le default alors qu'il n'est pas cense, ca veut dire qu'il y a un probleme de logique et que la condition que tu testes prend une valeur inatendue.
Quoi mettre ? A toi de gerer cette valeur inattendue. Tu peux faire que la fonction retourne un code d'erreur, ou mettre un assert(false). A toi de voir ce qui convient a ton programme. Le minimum est d'au moins mettre un commentaire dans le code disant que le programme ne doit pas atteindre le cas par "default". Si c'est vraiment ca que tu veux.
Bonjour,
Juste un petit mot en passant.
Le if est vrai si abs(F1-F2) / 200 est supérieur ou égal à 3 donc le switch se trouvant dans le if ne se servira jamais des cas 1 et 2. Juste une petite inversion je pense.
Personnellement je mettrais au moins un commentaire. Eventuellement un assert( 0 ) comme dit plus haut.
Méfiance avec la division entière:
199 / 200 = 0
200 / 200 = 1
399 / 200 = 1
400 / 200 = 2
etc.
M.
Juste un petit mot en passant.
Le if est vrai si abs(F1-F2) / 200 est supérieur ou égal à 3 donc le switch se trouvant dans le if ne se servira jamais des cas 1 et 2. Juste une petite inversion je pense.
Personnellement je mettrais au moins un commentaire. Eventuellement un assert( 0 ) comme dit plus haut.
Méfiance avec la division entière:
199 / 200 = 0
200 / 200 = 1
399 / 200 = 1
400 / 200 = 2
etc.
M.
if ((F1!=F2)&& (abs(F1-F2)/200)>=3)
{int K;
switch ((abs(F1-F2)/200))
{
case 1:
K=18;
break;
case 2:
K=50;
break;
case 3:
K=58;
break;
}
tu penses qua ca va marcher?