Exercice
Résolu
Gretyzde
Messages postés
97
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je bloque à l'exercice qui suis:
2. Les cotes obtenues par un élève aux deux premiers contrôles (Cote1, Cote2) sont obtenues au clavier. On demande d'écrire un DA qui affiche à l'écran le message
-« échec » si les deux cotes sont inférieures à 10 ;
- « remédiation » si une seule des deux cotes est inférieure à 10 ;
- « réussite » dans les autres cas.
Voici mon code:
Lorsque que j'inscris "10" dans une des deux côtes, j'obtiens le résultat "Echec" alors que je devrais normalement recevoir "Remediation". Je reçois pourtant "Rémédiation" lorsque les deux cotes sont égales à 10. ai-je commis une erreur?
Je vous remercie à l'avance;
EDIT: Ajout de la coloration syntaxique.
Je bloque à l'exercice qui suis:
2. Les cotes obtenues par un élève aux deux premiers contrôles (Cote1, Cote2) sont obtenues au clavier. On demande d'écrire un DA qui affiche à l'écran le message
-« échec » si les deux cotes sont inférieures à 10 ;
- « remédiation » si une seule des deux cotes est inférieure à 10 ;
- « réussite » dans les autres cas.
Voici mon code:
#include <stdio.h> #include <stdlib.h> void main(void) { int cot1, cot2; printf("Veuillez entrer les deux cotes separees par un espace : \n"); scanf("%d %d", &cot1, &cot2); if (cot1 && cot2 <=10) { printf("Echec \n"); }else{ if(cot1 && cot2 >=10){ printf("Reussite \n"); }else{ printf("Remediation \n");}} system("pause"); }
Lorsque que j'inscris "10" dans une des deux côtes, j'obtiens le résultat "Echec" alors que je devrais normalement recevoir "Remediation". Je reçois pourtant "Rémédiation" lorsque les deux cotes sont égales à 10. ai-je commis une erreur?
Je vous remercie à l'avance;
EDIT: Ajout de la coloration syntaxique.
A voir également:
- Exercice
- Transmath 3eme exercice ✓ - Forum Études / Formation High-Tech
- Corrigé d'un exercice du livre transmaths 3e - Forum Loisirs / Divertissements
- Fleur d'encre 5eme corrigé exercice - Forum PDF
- Corrigés 350 exercices niveau moyen ✓ - Forum Loisirs / Divertissements
- Livre du professeur 5eme fleur d'ancre ✓ - Forum PDF
3 réponses
Bonjour.
2 points:
-On te demande de tester une valeur inférieure et tu utilises des inférieurs ou égal.
-
Voir cette page http://progdupeu.pl/#1-conditions-et-booleens au moins les chapitres sur les booléens et les opérateurs binaires
Penser aux balises de coloration syntaxique: bouton <>, préciser le langage :<code csharp>.
Quand la solution est trouvée, mettre la discussion Résolue.
2 points:
-On te demande de tester une valeur inférieure et tu utilises des inférieurs ou égal.
-
cot1 && cot2 <=10ce code veut dire que tu testes si cot1 est vrai et si cot2 est inférieur ou égal à 10.
Voir cette page http://progdupeu.pl/#1-conditions-et-booleens au moins les chapitres sur les booléens et les opérateurs binaires
Penser aux balises de coloration syntaxique: bouton <>, préciser le langage :<code csharp>.
Quand la solution est trouvée, mettre la discussion Résolue.
Bonjour,
Effectivement, comme dit par Whismeril, si tu veux faire si a et b supérieur à 10, alors il faut mettre : if (a>10 && b>10)
Remarque : plutôt que :
Tu devrais utiliser :
La bon prototype de main() sans argument est : int main(void)
et il ne faut pas oublier : return 0; en fin de main().
Cdlt,
Effectivement, comme dit par Whismeril, si tu veux faire si a et b supérieur à 10, alors il faut mettre : if (a>10 && b>10)
Remarque : plutôt que :
else { if { ...
Tu devrais utiliser :
else if { ...
La bon prototype de main() sans argument est : int main(void)
et il ne faut pas oublier : return 0; en fin de main().
Cdlt,
Bonsoir! Je vous remercie pour votre aide, vous m'avez permis de résoudre l'exercice!
Deux choses aussi:
-au sujet de la coloration syntaxique, je n'ai aucune idée de comment l'appliquer sur le forum, de plus, je travaille sur une vieille version de visual studio qui ne prend pas en charge la coloration (juste pour les préprocesseur et les types des variables)
-au sujet de "return 0" et de "int main", je n'ai pas le droit de les utiliser dans mon cursus scolaire. Je ne peux me plier qu'à ce que j'ai écris dans ce code.. Je suis bien conscient que ce que vous dites est tout à fait juste car je me suis documenté auparavant mais je n'ai pas la raison exact de ce changement. Si vous pouviez m'expliquer la nuance, ça serait top!
Bien à vous.
Deux choses aussi:
-au sujet de la coloration syntaxique, je n'ai aucune idée de comment l'appliquer sur le forum, de plus, je travaille sur une vieille version de visual studio qui ne prend pas en charge la coloration (juste pour les préprocesseur et les types des variables)
-au sujet de "return 0" et de "int main", je n'ai pas le droit de les utiliser dans mon cursus scolaire. Je ne peux me plier qu'à ce que j'ai écris dans ce code.. Je suis bien conscient que ce que vous dites est tout à fait juste car je me suis documenté auparavant mais je n'ai pas la raison exact de ce changement. Si vous pouviez m'expliquer la nuance, ça serait top!
Bien à vous.
Si vous pouviez m'expliquer la nuance, ça serait top!
Il n'y a pas de nuance. void main(void) n'est pas conforme à la norme.
La norme spécifie que le main() doit renvoyer 0 lorsque le programme s'est déroulé correctement. Cela signifie simplement que ton cursus ne respecte pas la norme ISO. Et je sens que ça ne s'arrêtera pas au main ;-).
Il n'y a pas de nuance. void main(void) n'est pas conforme à la norme.
La norme spécifie que le main() doit renvoyer 0 lorsque le programme s'est déroulé correctement. Cela signifie simplement que ton cursus ne respecte pas la norme ISO. Et je sens que ça ne s'arrêtera pas au main ;-).