Insersion de notes pour un bulletin
Fermé
mbadih
-
Modifié par crapoulou le 8/11/2016 à 12:33
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 8 nov. 2016 à 14:29
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 8 nov. 2016 à 14:29
A voir également:
- Insersion de notes pour un bulletin
- Ouvrez ce fichier avec un éditeur de texte simple (bloc-notes, textedit, gedit, …) pour y découvrir le nom d'un objet. ✓ - Forum Études / Formation High-Tech
- Le fichier à télécharger est la nouvelle note de service de votre entreprise. importez ce fichier dans le bon dossier sur l'espace pix cloud. donnez à ce fichier les mêmes droits d'accès que les autres notes de service. - Forum Windows
- Convertisseur de note sur 20 ✓ - Forum Bureautique
- Récupérer bulletin scolaire sur internet - Forum Bureautique
- Donnez à ce fichier les mêmes droits d'accès que les autres notes de service - Guide
1 réponse
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
Modifié par [Dal] le 8/11/2016 à 14:31
Modifié par [Dal] le 8/11/2016 à 14:31
Salut mbadih,
Le spécificateur de format
vois http://www.cplusplus.com/reference/cstdio/scanf/
A format specifier for scanf follows this prototype:
%[*][width][length]specifier
et les tableaux qui suivent.
Ce qui ne va pas sur scanf :
- avec scanf, tu ne peux pas mettre de point (contrairement à printf, qui a ses propres formats, qui sont différents de ceux de scanf)
- cela n'a aucun sens de mettre 0 en tant que "width", car cela signifie que tu ne lis, en fait, aucun caractère.
- le "length" dans scanf n'est pas un nombre, mais un spécificateur de taille (vois le tableau de la doc)
- il n'y a qu'un seul %, qui est au début, "specifier" est en dernier et est un spécificateur de type (vois le tableau de la doc) ... il n'y a d'ailleurs pas non plus de % en fin d'expression pour printf ...
- tu devrais enlever l'espace en fin de format, car sinon il va consommer ton retour à la ligne, or, tu en as besoin pour arrêter la saisie
- quant à l'espace en début, que tu as mis parfois, je le supprimerai aussi, mais dans ton cas il n'aura pas vraiment d'impact
Le fait que ton programme compile sans erreur fatale, ne signifie pas qu'il est sans erreurs. En compilant avec les warnings, ton compilateur va se plaindre. Il ne faut pas ignorer les avertissements, ils attirent l'attention sur ce qui est, la plupart du temps, une erreur. Il faut comprendre pourquoi ils se manifestent, et en éliminer la cause.
La prochaine fois, tiens compte de ces warnings et cherche par toi même avec une documentation de référence. Si tu ne trouves vraiment pas pourquoi ils se manifestent, demande de l'aide ici :-)
Enfin :
- ta fonction main doit renvoyer un entier
- double est préféré à float par la bibliothèque standard, alors il est des personnes qui en recommandent l'utilisation par défaut pour des nombres à virgule, sauf cas particuliers nécessitant vraiment un float
- c'est une mauvaise habitude de créer des variables globales
Dal
Le spécificateur de format
" %0.02%f "est erroné pour scanf (et même pour printf en fait).
vois http://www.cplusplus.com/reference/cstdio/scanf/
A format specifier for scanf follows this prototype:
%[*][width][length]specifier
et les tableaux qui suivent.
Ce qui ne va pas sur scanf :
- avec scanf, tu ne peux pas mettre de point (contrairement à printf, qui a ses propres formats, qui sont différents de ceux de scanf)
- cela n'a aucun sens de mettre 0 en tant que "width", car cela signifie que tu ne lis, en fait, aucun caractère.
- le "length" dans scanf n'est pas un nombre, mais un spécificateur de taille (vois le tableau de la doc)
- il n'y a qu'un seul %, qui est au début, "specifier" est en dernier et est un spécificateur de type (vois le tableau de la doc) ... il n'y a d'ailleurs pas non plus de % en fin d'expression pour printf ...
- tu devrais enlever l'espace en fin de format, car sinon il va consommer ton retour à la ligne, or, tu en as besoin pour arrêter la saisie
- quant à l'espace en début, que tu as mis parfois, je le supprimerai aussi, mais dans ton cas il n'aura pas vraiment d'impact
Le fait que ton programme compile sans erreur fatale, ne signifie pas qu'il est sans erreurs. En compilant avec les warnings, ton compilateur va se plaindre. Il ne faut pas ignorer les avertissements, ils attirent l'attention sur ce qui est, la plupart du temps, une erreur. Il faut comprendre pourquoi ils se manifestent, et en éliminer la cause.
La prochaine fois, tiens compte de ces warnings et cherche par toi même avec une documentation de référence. Si tu ne trouves vraiment pas pourquoi ils se manifestent, demande de l'aide ici :-)
Enfin :
- ta fonction main doit renvoyer un entier
- double est préféré à float par la bibliothèque standard, alors il est des personnes qui en recommandent l'utilisation par défaut pour des nombres à virgule, sauf cas particuliers nécessitant vraiment un float
- c'est une mauvaise habitude de créer des variables globales
Dal