Calcul de moyenne de note en C

Signaler
Messages postés
2
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
9 décembre 2004
-
Messages postés
298
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
9 juillet 2008
-
BOnjour, j'ai réussi a créer un petit programme permettant de calculer des moyennes de notes en rentrant N élève, et lors de la saisie des notes des N élève j'inscris la valeur -1 pour arreter la saisie de note de cet élève.

J'aimerai faire une modification qui me permette de poser la question : "Voulez vous continuer la saisie des notes? O pour oui et N pour non." aprés chaque valeur de note entrée pour les N élèves. Je n'y arrive pas du tout.... lol merci d'un coup de main!!! :)

4 réponses

Messages postés
2
Date d'inscription
jeudi 9 décembre 2004
Statut
Membre
Dernière intervention
9 décembre 2004

Le programme que j'ai à modifier est :

#include<stdio.h>
#include<stdlib.h>

/*constante*/

#define eleve_max 5
#define note_max 5

int main(void)
{

/*variable*/

float notes [eleve_max][note_max];
int i,j,nb_eleve;
float som;
float moyenne [eleve_max];

printf("Bonjour! Bienvenue dans le programme 'calcul de moyennes de notes'\n\n");
printf("Nombre d'eleves ?\n");
scanf ("%d",&nb_eleve);
printf(" Debut du releve de notes :\n");

for (i=1;i<=nb_eleve;i=i+1)
{
som=0;
j=0;
printf(" * Eleve %d :\n",i);

do
{
j=j+1;
printf(" Note %d ?\n",j);
scanf("%f",¬es[i][j]);
som=som+notes[i][j];
}
while (notes[i][j]!=-1);

moyenne[i]=(som+1)/(j-1);

}

printf(" Moyennes : \n");

for (i=1;i<=nb_eleve;i=i+1)
{
printf(" Eleve %d m=%f \n",i,moyenne[i]);
}

system("PAUSE");
return 0;
}
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
2
Salut, pour commencer, quand tu incrémentes une variable dans une boucle ( do{...]while(); ) utilise for() se sera plus lisible.
Ensuite dispatche ton code en fonction, ton code sera encore plus lisible.
Ainsi tu pourras faire une fonction de saisie :
EntrerNotes(nb_eleve)
{
for(int i = 0; i<nbr_eleve;i++)
{
for(int j = 0;note_max;j++)
{
scanf("%f", notes[i][j]);
printf("Continuer ?");
touche = getch();
if(touche == 'o')
break;
}
}
}

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
2
A toi de voir comment gouppiller tout ça !

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
Messages postés
298
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
9 juillet 2008
1
char c='o';
while(c=='o')
{
...
...
...
printf("Continuer la saisie des notes?");
gets(c);//ou scanf("%c",c);
}

....etc :)