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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)