Probleme pendant l'écriture du fichier
Bonjour Madame, Monsieur,
Pour un projet je dois créer un système de management de banque. Pour cela je veux créer un fichier où on peut enregistrer les noms. Mon programmation reste très basique. Dès que j'essaie d'enregistrer sur le fichier cela pose problème.Pouvez vous corriger le problème? Merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| # include <stdlib.h>
# include <stdio.h>
# include <tgmath.h>
# define NB_ELEM
void affichage(int n , float x[n]){ // initialisation de tableau
int i;
for(i = 0;i<n; i++){
x[i]=0;
printf(" la valeurs de x[%d] = %f\n",i,x[i]);
};
return;
};
void changer_fichier(int N2, float x1[NB_ELEM]){ // création de fichier
FILE *fp;
int i = 0;
fp = fopen("/media/Tonny/TOSHIBA EXT/programmation_c/exercice1/test1.txt","w");
if (fp = NULL){
printf("le fichier n'existe pas ");
};
for(i = 0; i<N2; i++){
fprintf(fp,"%f", x1[i]);
};
return;
};
int main (void){
int n,i;
n = 0;
i = 0;
printf ("saisir une valeur");
scanf("%d",&n);
printf("valeur saisi est égale : %d", n);
float x1[n];
float x2[n];
for(i = 0; i<n;i++){
x2[i]=0;
};
printf("%f",x2[n]);
affichage(n,x1);
changer_fichier(n,x2); // enregistrer dans le fichier
exit(EXIT_SUCCESS);
}; |
erreur :
valeur saisi est égale : 10 la valeurs de x[0] = 0.000000
la valeurs de x[1] = 0.000000
la valeurs de x[2] = 0.000000
la valeurs de x[3] = 0.000000
la valeurs de x[4] = 0.000000
la valeurs de x[5] = 0.000000
la valeurs de x[6] = 0.000000
la valeurs de x[7] = 0.000000
la valeurs de x[8] = 0.000000
la valeurs de x[9] = 0.000000
Erreur de segmentation (core dumped)