C: calcul de moyenne d'etudiant. [Fermé]

Signaler
-
Messages postés
16024
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2020
-
Bonjour,
voici l'ennoncé: En utilisant la boucle do....while, ecrire le programme qui lit les notes d'etudiants, calcul leur moyenne generale et compte les moyenne >=10.On ne connait pas le nombre de n, pour arreter la saisi il faut introduire une note negative.
voici le prog que j'ai fait:

#include<stdio.h>
#include<stdlib.h>
main()
{
int n,m=0,i=0,s=0;
float moy;
do
{
printf("introduisez une note(note inferieur a 0 pour arreter)");
scanf("%d",&n);
s=s+n;
i=i+1;
if(n>=10)
m=m+1;
}
while(n>=0);
moy=s/i;
printf("la moynne est: %f \n le nombre de notes>10 est %d",moy,m);
system("pause");
}

es ce que c'est juste??

1 réponse

Messages postés
16024
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2020
2 663
Tu as un problème car tu comptes également la "note" négative qui te sers de condition d'arrêt. Par exemple si tu rentres directement -5 an première valeur, ta moyenne sera de -5 au lieu de 0. Idem si tu fais 5 et -5, la moyenne (sur une note) est 5 mais tu as 0.

De plus, tu vas avoir un problème avec moy=s/i, en effet s et i étant deux entiers, la division sera entière. Tu n'auras donc pas les éventuels chiffres après la virgule...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60959 internautes nous ont dit merci ce mois-ci