Correction des bugs dans un programme

ametsene Messages postés 7 Statut Membre -  
ametsene Messages postés 7 Statut Membre -
Bonjour,
Je voudrais écrire un programme qui affiche les horaires d'ouverture d'une boulangerie.

Voilà mon code:

#include <stdio.h>
main()
{
int j,h;
printf("entrez un jour du lundi=0 au dimanche=6\n");
scanf("%d",&j);
printf("entrez une heure\n");
scanf("%d",&h);
if((j>=2)&&((h>=7)&&(h<=13)&&(h>=16)&&(h<=20))) {
printf("la boulangerie est ouverte");
}
else {
if((j=0)&&((h>=7)&&(h<=13))) {
printf("la boulangerie est ouverte");
}
else {
printf("la boulangerie est fermee");
}

Je parviens a compiler le code mais quand j'exécute, a chaque fois que je donne un jour et une heure où la boulangerie devrai être ouverte, ça affiche que la boulangerie est fermée.

Merci de m'aider à corriger les bugs.

12 réponses

bilao
 
Je connais pas trop ton langage de prog, mais le premier matching me semble un peu suspect.... Tu demandes que l'heure h soit telle que
7<= h >= 12 et 16<= h >= 20, ce qui si j'interprète correctement le truc donne une chose impossible...

Sinon pour le lundi ça devrait jouer non ?
0
ametsene Messages postés 7 Statut Membre
 
je suis sur le Language C.

Pour Lundi, la boulangerie est ouverte entre 7h et 13h.

Du Mercredi au dimanche, La boulangerie est ouverte entre 7h et 13h et entre 16h et 20h ( Comment formuler ça en C ? )
0
bilao
 
Lors de ton premier matching : if((j>=2)&&((h>=7)&&(h<=13)&&(h>=16)&&(h<=20)))
J'écrirais (sachant que je ne parle pas le C)

if (j>=2)&&(((h>=7)&&(h<=13))||((h>=16)&&(h<=20)))

Mon || est le connecteur ou, tout comme && est le connecteur et. Je ne sais pas si c'est du C, mais tu connais sûrement la traduction.... ;-)

Essaye déjà avec ça. Je reste à l'écoute...
0
calibos
 
bonjour,

ton code est incomplet, mais j'ai comblé les trous
ça devrait marcher

#include <stdio.h>
int main()
{
int j,h;
printf("entrez un jour du lundi=0 au dimanche=6\n");
scanf("%d",&j);
printf("entrez une heure\n");
scanf("%d",&h);
if((j>=2)&&((h>=7)&&(h<=13)||(h>=16)&&(h<=20))) {
    printf("la boulangerie est ouverte");
    }
else {
    if((j==0)&&((h>=7)&&(h<=13))) {
    printf("la boulangerie est ouverte");
    }
    else {
       printf("la boulangerie est fermee");
      }
}
return 0;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bilao
 
J'allais pas tout recopier ce qui me semblait juste.....
0
bilao Messages postés 74 Statut Membre 4
 
.....ok je viens de capter que c'était pas pour moi.......... un pro du C est arrivé...!
0
ametsene Messages postés 7 Statut Membre
 
Merci Bilao, merci Calibos vs êtes vraiment gentil.
ça marche nickel...

j'ai vu l'erreur mnt grâce a vous.

Merci encore.
0
ametsene Messages postés 7 Statut Membre
 
Bilao t aussi un pro car ta aussi corriger les bugs...
0
bilao Messages postés 74 Statut Membre 4
 
Merci, je suis surtout sur du camL, mais bon. Ce fut un plaisir en tout cas, bonne soirée @ tous les 2 !
0
ametsene Messages postés 7 Statut Membre
 
excusez moi je vais encore vous dérangé... comment affiché sur printf(" é ") ?
quand je mets é sur mon programme ça n'exécute pas...
je programme avec Dev C++ language C.
0
bilao Messages postés 74 Statut Membre 4
 
Je ne saurais t'aider, mais cherche sur internet. Tu ne dois pas être le seul....
0
ametsene Messages postés 7 Statut Membre
 
Merci bcp... Bonne soirée !!
0