Exercice

Résolu/Fermé
Gretyzde Messages postés 97 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 avril 2016 - Modifié par Whismeril le 26/12/2014 à 22:03
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 27 déc. 2014 à 21:30
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:
#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.

3 réponses

Bonjour.
2 points:
-On te demande de tester une valeur inférieure et tu utilises des inférieurs ou égal.
-
cot1 && cot2 <=10
ce 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.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
26 déc. 2014 à 23:35
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 :
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,
0
Gretyzde Messages postés 97 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 avril 2016 2
27 déc. 2014 à 00:10
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.
0
Gretyzde Messages postés 97 Date d'inscription vendredi 1 août 2014 Statut Membre Dernière intervention 1 avril 2016 2
27 déc. 2014 à 00:11
Whoops! Compris pour la coloration syntaxique, je n'avais pas lu ce qui était écrit en dessous!
0
Utilisateur anonyme
27 déc. 2014 à 00:17
Merci de signaler le sujet résolu en cliquant sur le lien dédié sur le titre de la discussion
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
27 déc. 2014 à 01:17
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 ;-).
0
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49 > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
27 déc. 2014 à 18:57
Bonsoir
moi je rajouterais ceci le renvoi de 0 est correct mais, la formule exacte est
 return( EXIT_SUCCESS ) 

à bientôt
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
27 déc. 2014 à 21:30
EXIT_SUCCESS = 0 systématiquement...
Par contre pas besoin de parenthèses :-)
0