Programmation C
Résolu
bambaa
Messages postés
3
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
salut à tous je voudrais qu'on me corrige ce code qui sert à calculer la moyenne...
le programme calcule la moyenne dès qu'on entre une note négative.
j'arrive à calculer mais ca ne tombe pas juste .
SC = somme des coefficients
som = somme des notes
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i ;
float moy, note, som, SC, coef ;
note=0 ;
coef=0 ;
i=1 ;
while ( printf("Entrez note %d:",i), scanf("%f",¬e), printf("Entrez le coefficient %d:",i), scanf("%f",&coef),note >= 0 && note <= 20)
{
som = (note * coef) + som ;
SC = coef + SC ;
moy = som/SC ;
i++ ;
}
if (som < 0 || SC < 0)
{
printf("Donnees incorrectes!\n");
}
else
printf("la moyenne de cet etudiant est de %2.2f\n",moy);
return 0;
}
salut à tous je voudrais qu'on me corrige ce code qui sert à calculer la moyenne...
le programme calcule la moyenne dès qu'on entre une note négative.
j'arrive à calculer mais ca ne tombe pas juste .
SC = somme des coefficients
som = somme des notes
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i ;
float moy, note, som, SC, coef ;
note=0 ;
coef=0 ;
i=1 ;
while ( printf("Entrez note %d:",i), scanf("%f",¬e), printf("Entrez le coefficient %d:",i), scanf("%f",&coef),note >= 0 && note <= 20)
{
som = (note * coef) + som ;
SC = coef + SC ;
moy = som/SC ;
i++ ;
}
if (som < 0 || SC < 0)
{
printf("Donnees incorrectes!\n");
}
else
printf("la moyenne de cet etudiant est de %2.2f\n",moy);
return 0;
}
4 réponses
-
hum je dirais que ca serait pas mal d'initialiser tes variables avant comme :
som = 0;
moy = 0;
SC = 0;
donc voila ce que ca donnerais :
int main()
{
int i;
int NbNote = 0;
float moy=0;
float note = 0;
float som = 0;
float SC = 0 ;
float coef = 0 ;
printf("Combien de note voulez vous Saisir : ");
scanf("%d",&NbNote);
for(i=0; i<NbNote ; i++)
{
do
{
printf("Entrez note :");
scanf("%f",¬e);
fflush(stdin);
}while(note <0 || note >20);
do
{
printf("Saisir le coeficient :");
scanf("%d",&coef);
fflush(stdin);
}while(coef >=1);
som = (note * coef) + som ;
SC = coef + SC ;
moy = som/SC ;
}
if (som < 0 || SC < 0)
{
printf("Donnees incorrectes!\n");
}
else
{
printf("la moyenne de cet etudiant est de %2.2f\n",moy);
system("PAUSE>nil");
}
return 0;
} -
Bonjour,
tu pourrais envoyer l'algorithme car comprendre un programme tel qu'il est dans ta tête est compliqué.
Merci -
Essayes de faire avec ce code là:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i ;
float moy, note, som, SC, coef ;
som = 0;
SC = 0;
i=1 ;
while (note >= 0 && note <= 20)
{
(printf("Entrez note %d:",i),
scanf("%f",¬e),
printf("Entrez le coefficient %d:",i),
scanf("%f",&coef)
if (SC < 0)
{
printf("Donnees incorrectes!\n");
}
else
{
som = (note * coef) + som ;
SC = coef + SC ;
moy = som/SC ;
i++ ;
}
}
printf("la moyenne de cet etudiant est de %2.2f\n",moy);
return 0;
}
Remarques sur le precedent algo:
* Tes initialialisations : je pense que tu deverais les remplacer par ce que j'ai mis.
* le if à l'interieur du while ne sert à rien: à la rigueur tu peux laisser que SC <0 puisque la somme ne sera jamais négative vue la façon de l'algo comment il est fait.
jattends ton rertour, tiens moi au courant0 -
merci pour la reponse voila l'exo
Ecrire un algorithme qui demande successivement des notes et les coefficients d'un étudiant à
l'utilisateur, la série de notes que doit saisir l'utilisateur s'arrête au moment où ce dernier entre une
note inferieur à zéro ou supérieure à 20
Le programme doit afficher ensuite la moyenne de l'étudiant.
Ex :
Donner note 1 :12
Donner coefficient 1 :4
Donner note 2 : 13
Donner coefficient 2 : 2
Donner note 3 : 15
Donner coefficient 3 : 3
Donner note 1 : -11
Donner coefficient 1 :4
La moyenne de l'étudiant est : 13.22 / 20
merci