Probleme programme en c
Résolu
irihm
Messages postés
91
Date d'inscription
Statut
Membre
Dernière intervention
-
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'essaye de créer un programme en c mais le logiciel que j'utilise "code blox" m'affiche a chaque fois un problème avec une parenthèse après mon if.
Le but de ce programme est de savoir en entrant les pourcentage de réussite de 4 candiadts politique si le candidat numéro 1 est élue, en ballotage favorable ou en ballotage défavorable.
Voici le programme que j'ai tapé:
#include <stdio.h>
int main(void)
{
int C1,C2,C3,C4;
printf("Veuillez rentrer le score des 4 candidats");
scanf("%d,%d,%d,%d",&C1,&C2,&C3,&C4);
if(C1>50%)
{
printf("Le cancidat est élu au premier tour");
else
if((C1<12.5%) || (C2>50%) || (C3>50%) || (C4>50%))
{
printf("le candidat est battu");
else
if((C1>C2) && (C1>C3) && (C1>C4))
{
printf("le candidat est en ballotage favorable");
else
printf("le candidat est en ballotage défavorable");
}
}
}
return(0);
}
Si vous voyez comment j'arriverais à résoudre ce problème.
Merci d'avance pour votre aide cordialement.
J'essaye de créer un programme en c mais le logiciel que j'utilise "code blox" m'affiche a chaque fois un problème avec une parenthèse après mon if.
Le but de ce programme est de savoir en entrant les pourcentage de réussite de 4 candiadts politique si le candidat numéro 1 est élue, en ballotage favorable ou en ballotage défavorable.
Voici le programme que j'ai tapé:
#include <stdio.h>
int main(void)
{
int C1,C2,C3,C4;
printf("Veuillez rentrer le score des 4 candidats");
scanf("%d,%d,%d,%d",&C1,&C2,&C3,&C4);
if(C1>50%)
{
printf("Le cancidat est élu au premier tour");
else
if((C1<12.5%) || (C2>50%) || (C3>50%) || (C4>50%))
{
printf("le candidat est battu");
else
if((C1>C2) && (C1>C3) && (C1>C4))
{
printf("le candidat est en ballotage favorable");
else
printf("le candidat est en ballotage défavorable");
}
}
}
return(0);
}
Si vous voyez comment j'arriverais à résoudre ce problème.
Merci d'avance pour votre aide cordialement.
A voir également:
- Probleme programme en c
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
17 réponses
Voici le nouveau code:
#include <stdio.h> int main(void) { int C1,C2,C3,C4; printf("Veuillez rentrer le score des 4 candidats:/n"); scanf("%d,%d,%d,%d",&C1,&C2,&C3,&C4); if(C1>50) { printf("Le cancidat est élu au premier tour"); else if((C1<12.5) || (C2>50) || (C3>50) || (C4>50)) { printf("le candidat est battu"); else if((C1>C2) && (C1>C3) && (C1>C4)) { printf("le candidat est en ballotage favorable"); else printf("le candidat est en ballotage défavorable"); } } } return(0); }
ensuite:
a mon avis, tu devrais remplacer tes else par des } else {
car tu ne fermes pas ton if, et tu n'ouvres pas ton else ...
la syntaye, c'est pas
mais bien
if((C1<12.5) || (C2>50) || (C3>50) || (C4>50)) { printf("le candidat est battu"); else //nabla's: c'est quoi ce else ??? if((C1>C2) && (C1>C3) && (C1>C4)) { printf("le candidat est en ballotage favorable"); else // et celui ci ??? printf("le candidat est en ballotage défavorable"); } }
a mon avis, tu devrais remplacer tes else par des } else {
car tu ne fermes pas ton if, et tu n'ouvres pas ton else ...
la syntaye, c'est pas
if { //blabla else //blabla }
mais bien
if { //blabla } else { //blabla }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
non pas de warning juste 2 erreurs, avec le premier else et avec la dernière accolade pour fermer le programme.
D'accords mais je dois mettre plusieurs if et else et si je ferme le premier if je sort de la boucle non?
Voila le programme modifier en suivant tes conseil:
Maintenant j'ai un warning pour la dernière accolade et une erreur avec le return(0)
#include <stdio.h> int main(void) { int C1,C2,C3,C4; //les différentes variables //Débuts du programme printf("Veuillez rentrer le score des 4 candidats:/n"); scanf("%d,%d,%d,%d",&C1,&C2,&C3,&C4); if(C1>50) { printf("Le cancidat est élu au premier tour"); } else { if((C1<12.5) || (C2>50) || (C3>50) || (C4>50)) { printf("le candidat est battu"); } else { if((C1>C2) && (C1>C3) && (C1>C4)) { printf("le candidat est en ballotage favorable"); } else { printf("le candidat est en ballotage défavorable"); } } } } return(0); }
Maintenant j'ai un warning pour la dernière accolade et une erreur avec le return(0)
a mon avis, c'est ca que tu veux faire:
quand tu fais un else, tu dois fermer le if auquel il se raporte, et le else suit imédiatement la fermeture du if. Sinon il ne sait pas a quoi se raporte le else
dans ton cas, comem les if et else ne sont suivi que d'uen isntruction, toutes tes acolades sont facultatives, mais prends l'habitude de les mettre
#include <stdio.h> int main(void) { int C1,C2,C3,C4; printf("Veuillez rentrer le score des 4 candidats:/n"); scanf("%d,%d,%d,%d",&C1,&C2,&C3,&C4); if(C1>50) { printf("Le cancidat est élu au premier tour"); } else { if((C1<12.5) || (C2>50) || (C3>50) || (C4>50)) { printf("le candidat est battu"); } else { if((C1>C2) && (C1>C3) && (C1>C4)) { printf("le candidat est en ballotage favorable"); } else { printf("le candidat est en ballotage défavorable"); } } } return(0); }
quand tu fais un else, tu dois fermer le if auquel il se raporte, et le else suit imédiatement la fermeture du if. Sinon il ne sait pas a quoi se raporte le else
dans ton cas, comem les if et else ne sont suivi que d'uen isntruction, toutes tes acolades sont facultatives, mais prends l'habitude de les mettre
Euh, pas encore je le test mais la boucle:
ne s'exécute pas, il n'y a que les deux première boucle qu'il le sont, soit il est battu soit il gagne, je comprends pas ou peut être l'erreur :/
Je sais je suis pénible. ^^'
else { if((C1>C2) && (C1>C3) && (C1>C4)) { printf("le candidat est en ballotage favorable"); } else { printf("le candidat est en ballotage defavorable"); }
ne s'exécute pas, il n'y a que les deux première boucle qu'il le sont, soit il est battu soit il gagne, je comprends pas ou peut être l'erreur :/
Je sais je suis pénible. ^^'
Le candidat est encore battu :/
Voici le programme complet:
Voici le programme complet:
#include <stdio.h> int main(void) { int C1,C2,C3,C4; //les différentes variables //Débuts du programme printf("Veuillez rentrer le score des 4 candidats: "); scanf("%d,%d,%d,%d",&C1,&C2,&C3,&C4); if(C1>50) //Première comparaison { printf("Le cancidat est elu au premier tour"); } else { if((C1<12.5) || (C2>50) || (C3>50) || (C4>50)) //Deuxième comparaison { printf("le candidat est battu"); } else { if((C1>C2) && (C1>C3) && (C1>C4)) { printf("le candidat est en ballotage favorable"); } else { printf("le candidat est en ballotage defavorable"); } } } return(0); }
rajoutes moi un:
printf("%d,%d,%d,%d",C1,C2,C3,C4);
pour verifier que tu récupères bien les bonnes valeurs
et changes moi ca: (C1<12.5) en (C1<13) , ou passes toute l'application en float
printf("%d,%d,%d,%d",C1,C2,C3,C4);
pour verifier que tu récupères bien les bonnes valeurs
et changes moi ca: (C1<12.5) en (C1<13) , ou passes toute l'application en float
en effet les valeur de C2, C3 et C4 sont un plus grande d'environ quelques millions de leur valeur initiale ^^'
Chose que je ne trouve pas logique car elles leur valeurs sont déjà définit au début du programme.
Chose que je ne trouve pas logique car elles leur valeurs sont déjà définit au début du programme.
scanf("%d,%d,%d,%d",&C1,&C2,&C3,&C4);
if((C1<12.5%) || (C2>50%) || (C3>50%) || (C4>50%))
seulement ceux qui sont dans les if !
ecux du scanf doivent rester
et merci de poster le nouveau code en utilisant les balises < code > (a coté de souligné), pour qu'on ai l'indentation
Merci Nabla's d'avoir rectifié.
;o)
s'il y a des erreurs, avec l'indentation on verra mieux ...