Problème Switch
Résolu
Lucky Lucke
-
Lucky Lucke -
Lucky Lucke -
Bonjour,
Je débute en programmation et la j'ai concocté un programme qui demande l'age et qui dit une phrase en fonction de l'âge.Mais voilà, je crois que j'ai fais une erreur : je veux mettre plusieurs "âges" pour la même case. J'ai pensé bien faire en mettant des || entre chaque "âge" mais ça me met deux erreurs : error: duplicate case value et error: previously used here.
Donc voilà mon programme(dsl j'ai pas mis de commentaires) :
#include <stdio.h>
#include <stdlib.h>
int main()
{
long age = 0;
Printf("Quel age as-tu? ");
scanf("%ld\n", age);
switch (age)
{
case 1 || 2 || 3 || 4 || 5:
printf("Ouiin, ouiinn!");
break;
case 6 || 7 || 8 || 9 || 10:
printf("Petit morveux!");
break;
case 11 || 12 || 13 || 14 || 15:
printf("Tu n'es qu'un ado!");
break;
case 16 || 17 || 18 || 19 || 20 || 21 || 22 || 23 || 24:
printf("Tu es encore jeune!");
break;
case 25 || 26 || 27 || 29 || 28 || 30 || 31 || 32 || 33:
printf("Tu es un grand homme maintenant!");
break;
case 34 || 35 || 36 || 37 || 38 || 39 || 40 || 41 || 42 || 43 || 44 || 45 || 46 || 47 || 48 || 49:
printf("Tu n'es plus dans la fleur de l'age!");
break;
case 50 || 51 || 52 || 53 || 54 || 55 || 56 || 57 || 58 || 60 || 61 || 62 || 63 || 64 || 65 || 66 || 67 || 68 || 69 || 70:
printf("Tu es un senior!");
break;
case 59:
printf("Coucou papa!");
break;
default:
printf("Tu es un vieux papy ma parole!");
break;
}
return 0;
}
Je débute en programmation et la j'ai concocté un programme qui demande l'age et qui dit une phrase en fonction de l'âge.Mais voilà, je crois que j'ai fais une erreur : je veux mettre plusieurs "âges" pour la même case. J'ai pensé bien faire en mettant des || entre chaque "âge" mais ça me met deux erreurs : error: duplicate case value et error: previously used here.
Donc voilà mon programme(dsl j'ai pas mis de commentaires) :
#include <stdio.h>
#include <stdlib.h>
int main()
{
long age = 0;
Printf("Quel age as-tu? ");
scanf("%ld\n", age);
switch (age)
{
case 1 || 2 || 3 || 4 || 5:
printf("Ouiin, ouiinn!");
break;
case 6 || 7 || 8 || 9 || 10:
printf("Petit morveux!");
break;
case 11 || 12 || 13 || 14 || 15:
printf("Tu n'es qu'un ado!");
break;
case 16 || 17 || 18 || 19 || 20 || 21 || 22 || 23 || 24:
printf("Tu es encore jeune!");
break;
case 25 || 26 || 27 || 29 || 28 || 30 || 31 || 32 || 33:
printf("Tu es un grand homme maintenant!");
break;
case 34 || 35 || 36 || 37 || 38 || 39 || 40 || 41 || 42 || 43 || 44 || 45 || 46 || 47 || 48 || 49:
printf("Tu n'es plus dans la fleur de l'age!");
break;
case 50 || 51 || 52 || 53 || 54 || 55 || 56 || 57 || 58 || 60 || 61 || 62 || 63 || 64 || 65 || 66 || 67 || 68 || 69 || 70:
printf("Tu es un senior!");
break;
case 59:
printf("Coucou papa!");
break;
default:
printf("Tu es un vieux papy ma parole!");
break;
}
return 0;
}
A voir également:
- Problème Switch
- 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
4 réponses
ça marche pas comme ça si tuveux plusieur case pour une seul instruction c'est plutot comme ça
case 1: case 2: case 3: case 4: case 5: printf("Ouiin, ouiinn!"); break;
Bonsoir,
Dans le cas où c'est des conditions qui se suivent (comme ici), tu peux volontairement oublier le break. Si ce n'est pas le cas, il te faudra alors créer une fonction à appeler dans chaque cas afin de factoriser le code un minimum.
Dans ce cas, il est tout de même préférable d'utiliser des conditions plutôt que d'énumérer la centaine de cas possibles...
Cordialement,
Dans le cas où c'est des conditions qui se suivent (comme ici), tu peux volontairement oublier le break. Si ce n'est pas le cas, il te faudra alors créer une fonction à appeler dans chaque cas afin de factoriser le code un minimum.
#include <stdio.h> #include <stdlib.h> int main() { long age = 0; Printf("Quel age as-tu? "); scanf("%ld\n", age); switch (age) { case 1: case 2: case 3: case 4: case 5: printf("Ouiin, ouiinn!"); break; case 6: case 7: case 8: case 9: case 10: printf("Petit morveux!"); break; case 11: case 12: case 13: case 14: case 15: case 16: printf("Tu n'es qu'un ado!"); break; case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: printf("Tu es encore jeune!"); break; //à finir ;) case 59: printf("Coucou papa!"); break; default: printf("Tu es un vieux papy ma parole!"); break; } return 0; }
Dans ce cas, il est tout de même préférable d'utiliser des conditions plutôt que d'énumérer la centaine de cas possibles...
Cordialement,