char szname[10]; //Definie le nombre de caracteres que l'utilisateur tapperas
int sage = 0;
printf("Bienvenue Dans Mon Programme !\n");
sleep(2000); // Permet De faire un intervale de 4 sec Entre les 2 phrases
printf("Comment t'appelle tu ?\n");
scanf("%s", &szname); // l'utilisateur donne son nom
sleep(2000);
printf("Bien le Bonjour %s\n", &szname);
printf("Quel age as tu ?\n");
scanf("%d", &sage);
if(sage < 10 )
{
printf("Allez, le jeunot ! AU LIT !\n");
}
if(sage <15 )
{
printf("T'es un préado, Vas t'en!\n");
}
if(sage < 18 )
{
printf("En pleine adolescence !\n");
}
if(sage < 25)
{
printf("profite en bien, encore !\n");
}
if(sage > 26)
{
printf("Ta encore la vie devant toi, mais fais pas le fou !\n");
}
else
{
printf("En tout cas, tu as encore de la vie devant toi !\n");
}
system("pause");
return 0;
}
Bon c'est vraiment un programme tres basique mais je debute !
Le programme marche mais le Pb est que si, par ex, j'entre 16 en age, il me sort tout les printf des "if !" sauf celle ci :
if(sage < 10 )
{
printf("Allez, le jeunot ! AU LIT !\n");
}
Donc je vois d'ou vient le probleme mais ne sai spas cmment le regler ! si je tape 16 je veut que seul :
zebulaon
Messages postés15Date d'inscriptionmercredi 15 janvier 2003StatutMembreDernière intervention19 février 2003 30 janv. 2003 à 11:20
C'est normal tu es d'accord que 16 <10 est False dc tu ne rentre pas ds le if, par contre tt les autres flux ,les autres conditions st vrais (16<18<25..) utilise plutot un case, si l'une des conditions est remplie alors tu pourra sortir...
cs_jackred
Messages postés2Date d'inscriptionmercredi 2 juillet 2008StatutMembreDernière intervention13 septembre 2008 13 sept. 2008 à 17:46
Tu peux aussi essayer de faire une double condition
c'est à dire au lieu de :
if (sage < 15)
tu fais :
if (sage < 15 && sage > 10)
ca veut dire que l'instruction ne se lancera que si la variable sage est comprise entre 10 et 15.
Fais de même pour les autres conditions :
sage > 15 && sage < 18
sage > 18 && sage < 25
etc etc ...
comme ca si tu tape le nombre 16, ca te donnera la condition ou c'est compris entre 15 et 18
les autres par contre seront fausses.
PS: essaye de remplacer les if apres le premier par un else if
comme ca si jamais la condition est juste, le programme va passer à la suite sans qu'il
test les autres conditions.