Jarrive pas a trouver l'erreur

Fermé
ADI - 6 nov. 2004 à 14:27
blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 - 7 nov. 2004 à 01:24
bonjour g doi fai un programme premettant de rentrer des note a plusieur eleve (le meme nbr de N pour chaque)
pour cela g utiliser 2 tab et le prgramme doi mafficher la moyenne de chaque eleve a la fin
#include<stdio.h>
#define N_max 150
#define E_max 150
int main(void)
{
/*programme calcul de moyenne de chaque éléve*/

int i,j,n,e;
float somme,moy,tab[N_max],TAB[E_max],tab_moy[E_max];
//la je demande combien de note y a t il par eleve ainsi que le nbr d'eleve
printf("combien d'eleves voulez vous?\n");
scanf("%d",&e);
fflush(stdin);
printf("combien de notes voulez vous?\n");
scanf("%d",&n);
fflush(stdin);

somme=0;
//ici j'utilise 2 boucles la deuxiemme va me permettree de rentrer les note de l'eleve e et la premiere changer d'eleve
for (i=0;i<e;i++);{
for (j=0;j<n;j++);{
printf("quelle est la note?\n");
scanf("%f",&tab[j]);
fflush(stdin);
somme=somme+tab[j];
}
tab_moy[i]=somme/n;}
//normalement la g fini de remplir tt les tableaux et g demande simplement quil me restitue les moyenne de chaque eleve

for (i=0;i<e;i++);{
printf("l'éléve e%d à %f de moyenne \n",i,tab_moy[i]);
}
getchar();
}


le prog tourne n'importe comment il me demande pas de passer a l'eleve suivant g comprend pas
merci d'avance si vous trouver le probleme
by
ADI

1 réponse

blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 160
7 nov. 2004 à 01:24
salut
- pas d'indentation --> ilisible
- les 2 boucles imbriquées traitent la même variable
donc c'est comme si il n'y avait qu'une seule boucle (mais laquelle ?)
- flush(stdin) ici, bof pour quoi faire ?
-aucun bridage lors de la saisie, N_max et E_max peuvent être dépassés
par l'utilisateur ignorant des limites de capacité du programme
--> segmentation fault (avec un peu de chance)

franchement rendre le code plus lisible, ici c'est 80% du boulot
cordialement
¤
0