Bonjour, voilà je débute en C et j'ai un petit problème avec ce programme:
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*les includes */
 
#include <stdio.h>
 
/* déclaration des variables */
 
int i, n;
float t, l, p, m, T;
float N[10000], dN[10000];
char val;
FILE* sortie = NULL;
FILE* sortie2 = NULL;
 
/* bloc d'instructions */
 
main()
{
  printf("RESOLUTION DE L'EQUATION DIFFERENTIELLE DE DECROISSANCE RADIOACTIVE.\n");
 
  /* saisie des données */
 
  printf("    -conditions initiales :\n");
 
  printf("      t0 : ");
  scanf("%f", &t);
 
  printf("      N0 : ");
  scanf("%f", &N[0]);
 
  printf("    -constante de radioactivite :\n");
 
  printf("      lambda : ");
  scanf("%f", &l);
 
  printf("    -pas : ");
  scanf("%f", &p);
 
  retour:;
  printf("    -nombre de calculs (<10000) : ");
  scanf("%d", &n);
 
  if (n>=10000)
     {
      printf("%d est superieur à 10000\n",n);
      goto retour;
     }
 
  /* calculs */
 
  printf("\n      t            dN/dt                        N\n");
  printf(" %f     %f      %f\n", t, (- l * N[0]), N[0]);
 
  dN[0] = - l * N[0];
 
  for (i=1; i<=n; i++)                    // routine de calcul, selon
      {                                   // la méthode d'Euler.
         T = t + (i * p);
         dN[i] = - l * N[i - 1];
         N[i] = N[i - 1] + (dN[i] * p) ;            
         printf(" %f     %f      %f\n", T, dN[i], N[i]);
      }
 
  /* ****************************************************** */
  /* sauvegarde des données dans un le fichier donnees.txt  */
  /* ****************************************************** */
 
  /* demande s'il faut effectuer la sauvegarde */
 
  printf("\n Souhaitez vous sauvegarder ces donnees dans un fichier ? (O/N)\n");
  val=getchar();   // attend la saisie d'un caractère
 
  while (val!='o' && val!='O' && val!='n' && val!='N') // vérifie le caractère
        {
          val=getchar();
        }
 
  if (val == 'o' || val=='0')
     { 
       /* ****************************************************** */   
       /*         enregistrement du fichier donnees.txt           */
       /* ****************************************************** */   
 
       sortie = fopen("C:\\donnees.txt", "wt");           //ouvre ou créer le fichier donnees.txt en mode écriture
 
       if (sortie == NULL)                //renvoi un message d'erreur si le fichier n'a pas pu être ouvert ou créé
          {
           printf("\nErreur dans la creation du fichier donnees.txt\n");  
           return -1;
          }
 
       printf("\nle fichier donnees.txt a ete correctement ouvert\n");
       printf("enregistrement de donnees.txt...\n");
 
       /* Enregistrement du fichier */
 
       fprintf(sortie, "\n      t            dN/dt                        N\n");
       fprintf(sortie, " %f     %f      %f\n", t, (- l * N[0]), N[0]);
 
       for (i=1; i<=n; i++)
           {
            T = t + (i * p);
            dN[i] = - l * N[i - 1];
            N[i] = N[i - 1] + (dN[i] * p) ;            
            fprintf(sortie, " %f     %f      %f\n", T, dN[i], N[i]);
           }
 
       fprintf(sortie,"\n****** FIN DE FICHIER ******\n");
       fclose(sortie);    
 
       printf("donnees enregistrees !\n");
 
       /* ****************************************************** */   
       /*         enregistrement du fichier courbe.txt           */
       /* ****************************************************** */   
 
 
       sortie2 = fopen("C:\\courbe.txt", "wt");             //ouvre ou créer le fichier courbe.txt en mode écriture
 
       if (sortie2 == NULL)               //renvoi un message d'erreur si le fichier n'a pas pu être ouvert ou créé
          {
           printf("\nErreur dans la creation du fichier courbe.txt\n");
           return -1;
          } 
 
       printf("\nle fichier courbe.txt a ete correctement ouvert\n");
       printf("enregistrement de courbe.txt...\n");
 
       fprintf(sortie2, "%f,%f\n", t, N[0]); 
 
       for (i=1; i<=n; i++)
           {
            T = t + (i * p);
            dN[i] = - l * N[i - 1];
            N[i] = N[i - 1] + (dN[i] * p) ;            
            fprintf(sortie2, "%f,%f\n", T, N[i]);
           }
 
       fclose(sortie2);
 
       printf("donnees enregistrees !\n");
    }
 
  scanf("%f", &m);          
  return 0;
}
Lorsque je compile avec DEVC++ il me met l'erreur suivante:
[build error] ["équation diff.o"] Error 1

Si quelqu'un pourrait m'aider s'il vous plait je lui en serait très reconnaissant