Pb debutant "C" 2

Tkaos Messages postés 3 Date d'inscription dimanche 19 janvier 2003 Statut Membre Dernière intervention 29 janvier 2003 - 29 janv. 2003 à 20:41
trinitacs Messages postés 249 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 7 août 2003 - 30 janv. 2003 à 11:17
Voila encore un probleme, apres avoir appris a me servir du "if" j'ai fait ce petit programme :

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)

{

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 :

if(sage < 18 )
{
printf("En pleine adolescence !\n");
}

2 réponses

Tropdemalaveclesapi Messages postés 4 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 29 janvier 2003
29 janv. 2003 à 22:58
Salut

alors ton pb est le suivant
il existe une commande else à combiener avec le if:

if(sage < 10 )
printf("Allez, le jeunot ! AU LIT !\n");
else if(sage <15 )
{
printf("T'es un préado, Vas t'en!\n");
else
if(sage < 18 )
{ printf("En pleine adolescence !\n");
}
else
{ if(sage < 25)
{ printf("profite en bien, encore !\n");
}
else
{
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");
}
}
}
}

la ca devrait marcher...

la ton pb résidait en le fait que si tu saisis 16, 16 est < 18 mais aussi à 25 d'où l'affichage de plusieurs messages.

Ciao
0
trinitacs Messages postés 249 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 7 août 2003 2
30 janv. 2003 à 11:17
-------------------------------
Réponse au message :
Le code dans le else est éxécuter si la condition du if est fausse. Enfin tu pourras lire ça dans le mon cours2 qui traîte des structures de contrôles tkaos ;)
-------------------------------

> Salut
>
> alors ton pb est le suivant
> il existe une commande else à combiener avec le if:
>
> if(sage < 10 )
> printf("Allez, le jeunot ! AU LIT !\n");
> else if(sage <15 )
> {
> printf("T'es un préado, Vas t'en!\n");
> else
> if(sage < 18 )
> { printf("En pleine adolescence !\n");
> }
> else
> { if(sage < 25)
> { printf("profite en bien, encore !\n");
> }
> else
> {
> 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");
> }
> }
> }
> }
>
> la ca devrait marcher...
>
> la ton pb résidait en le fait que si tu saisis 16, 16 est < 18 mais aussi à 25 d'où l'affichage de plusieurs messages.
>
> Ciao
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Voila encore un probleme, apres avoir appris a me servir du "if" j'ai fait ce petit programme :
> >
> >
> > #include <stdlib.h>
> > #include <stdio.h>
> > #include <conio.h>
> >
> > int main(void)
> >
> > {
> >
> > 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 :
> >
> > if(sage < 18 )
> > {
> > printf("En pleine adolescence !\n");
> > }
>
0
Rejoignez-nous