j'ai fait un programme simple C qui doit être terminé lorsque le personnage EOF
est entré (Ctrl-Z pour Windows) et devrait imprimer:la fin du fichier (EOF) dans le programme C
- Passé si la note est supérieure ou égale à 5.
- Passé avec un passage haut si la note est supérieure ou égale à 8.
- Échec dans tous les autres cas.
J'utilise getchar()
pour les entrées de l'utilisateur (note dans ce cas).
#include <stdio.h>
int main() {
int grade;
puts("Enter a grade\n");
puts("Enter the EOF character to end input\n");
while ((grade = getchar()) != EOF) {
if (grade >= 5) {
puts("Passed");
if (grade >= 8) {
puts("with High Pass\n");
}
} else {
puts("Failed\n");
}
}
return 0;
}
Le problème est que le programme ne fait pas ce qui est censé être faire et j'apprécierait si vous pouviez me aider à trouver une solution.
Notez que 'EOF' est pas un caractère, mais une macro pour la valeur retournée par certaines fonctions lorsqu'une condition de fin de fichier est rencontré (ou renvoyé lorsqu'il y a une erreur dans certains cas). –
Et si l'utilisateur entre 'A' au lieu de 8? – user3629249