Bonjour,

Je suis débutant en C++ (hé oui lol). J'apprends ce langage puisqu'à l'école je travaille avec le c++ ... enfin bref passons
Alors voilà mon "problème"

Le code ci dessous permet de gérer une station météo... je rentre les données et en quittant le programme sauvegarde ce que j'ai rentré dans 2 fichiers ... vous comprendrez en lisant le code.
Mon problème c'est que je n'arrive pas à charger le fichier "tempera.txt" comme il faut lors du chargement du programme .

Voici le code

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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
// Inclusion des fichiers bibliothèques
#include <iostream.h>
#include <stdlib.h>
 
// Déclaration des Variables
int nbmaxjour,nbjour;
int nbmaxtemp,nbtemp,vtemp;
int vrelevemoy,vreleve,vrelevemois,vmoyecart,vecart,vecarttot,vtempmoyjour,vtempjour,vtempmensuelleint,vtempmensuelle,nbretemp;
int tbpluvio[31];
int tbtemp[25][31];
 
//Déclaration des procédures et fonctions
void Menu( )
{	system("CLS");
	cout <<"Station Meteo \n";
	cout <<"1 : Saisie des pluviometries du mois \n";
	cout <<"2 : Affichage des pluviometries du mois et moyenne \n";
	cout <<"3 : Saisie des temperatures \n";
	cout <<"4 : Affichage des temperatures \n";
   cout <<"5 : Affichage temperature moyenne journaliere et mensuelle \n";
	cout <<"0 : Quitter \n";
}
 
void SaisirPluvio( )
{
 
  cout << "Nombre de jours dans le mois: ";
  cin >> nbjour;
      for (nbmaxjour=1;nbmaxjour<=nbjour;nbmaxjour=nbmaxjour+1)
      {
       cout <<"Valeur du releve: ";
       cin >> vreleve;
       tbpluvio[nbmaxjour]=vreleve;
      }
}
 
void AfficherPluvio( )
{
     vecarttot=0;
     vmoyecart=0;
     vrelevemois=0;
     for (nbmaxjour=1;nbmaxjour<=nbjour;nbmaxjour=nbmaxjour+1)
     {
     cout<<tbpluvio[nbmaxjour]<<";";
     vrelevemois=vrelevemois+tbpluvio[nbmaxjour];
     }
     vrelevemoy=vrelevemois/nbjour;
     cout<<"Le cumul des releves est de: "<<vrelevemois<<" \n";
     cout<<"La moyenne des releves est de: "<<vrelevemoy<<" \n";
                   for (nbmaxjour=1;nbmaxjour<=nbjour;nbmaxjour=nbmaxjour+1)
                   {
                   if (tbpluvio[nbmaxjour]>vrelevemoy)
                   {
                   cout<<"Le jour numero "<<nbmaxjour<<" est superieur a "<<vrelevemoy<<" mm \n";
                   }
                   vecart=tbpluvio[nbmaxjour]-vrelevemoy;
                        if (vecart>0)
                        {
                         vecarttot=vecarttot+vecart;
                        }
                   vmoyecart=vecarttot/nbmaxjour;
                   }
     cout<<"L'ecart type est de "<<vmoyecart;
}
 
void SaisirTemp( )
{
 cout << "Nombre de jours dans le mois: ";
 cin >> nbjour;
 cout << "Nombre de relevees de temperature par jour: ";
 cin >> nbretemp;
     for (nbmaxjour=1;nbmaxjour<=nbjour;nbmaxjour=nbmaxjour+1)
     {
     cout<<"\n";
     cout<<"Temperature du jour "<<nbmaxjour<<"\n";
        for (nbmaxtemp=1;nbmaxtemp<=nbretemp;nbmaxtemp=nbmaxtemp+1)
        {
        cout <<"Temperature du relevee "<<nbmaxtemp<<": ";
        cin >> vtemp;
        tbtemp[nbmaxtemp][nbmaxjour]=vtemp;
        }
     }
}
 
void AfficherTemp( )
{
     for (nbmaxjour=1;nbmaxjour<=nbjour;nbmaxjour=nbmaxjour+1)
     {
     cout<<"\n";
     cout<<"Temperature du jour "<<nbmaxjour<<"\n";
        for (nbmaxtemp=1;nbmaxtemp<=nbretemp;nbmaxtemp=nbmaxtemp+1)
        {
        cout<<tbtemp[nbmaxtemp][nbmaxjour]<<" | ";
        }
     }
}
 
 
void AfficherTempPartiel ()
{
   vtempmensuelle=0;
   vtempmensuelleint=0;
     for (nbmaxjour=1;nbmaxjour<=nbjour;nbmaxjour=nbmaxjour+1)
     {
     vtempjour=0;
     vtempmoyjour=0;
 
       for (nbmaxtemp=1;nbmaxtemp<=nbretemp;nbmaxtemp=nbmaxtemp+1)
        {
        vtempjour= vtempjour+tbtemp[nbmaxtemp][nbmaxjour];
        vtempmoyjour=vtempjour/nbretemp;
        }
     tbtemp[25][nbmaxjour]=vtempmoyjour;
     cout<<"La temperature moyenne pour la journee "<<nbmaxjour<<" est de "<<tbtemp[25][nbmaxjour]<<" degre(s)\n";
     vtempmensuelleint=vtempmensuelleint+vtempmoyjour;
     vtempmensuelle=vtempmensuelleint/nbjour;
     cout<<"La temperature moyenne mensuelle est de "<<vtempmensuelle<<" degre(s) \n";
 
         for (nbmaxjour=1;nbmaxjour<=nbjour;nbmaxjour=nbmaxjour+1)
         {
         if(tbtemp[25][nbmaxjour]>vtempmensuelle)
         cout<<"Le jour "<<nbmaxjour<<" a une temperature moyenne journaliere superieure a celle mensuelle \n";
         }
     }
}
void SauvegarderPluvio()
{ int i;
  FILE *fpluvio;
  if (nbjour>0)
  {
    cout << "Sauvegarde sur fichier des pluviometries...\n";
    fpluvio = fopen("pluvio.txt","w");
    for (i=1;i<=nbjour;i=i+1)
    {
      fprintf(fpluvio,"%d \n",tbpluvio[i]);
    }
    fclose(fpluvio);
  }
}
 
void ChargerPluvio()
{ int i;
  FILE *fpluvio;
 
  cout << "Chargement des pluviometries...\n";
  fpluvio = fopen("pluvio.txt","r");
  i=0;
  if (fpluvio==NULL)
     cout << "Fichier inexistant: pluvio.txt\n";
  else
  {  while (feof(fpluvio)==false)
     { i= i+1;
       fscanf(fpluvio,"%d \n",&tbpluvio[i]);
     }
     fclose(fpluvio);
  }
  nbjour = i;
  system ("Pause");
}
 
void SauvegarderTemp()
{ int i;
  FILE *ftemp;
  if (nbjour>0)
  {
    cout << "Sauvegarde sur fichier des temperatures...\n";
    ftemp = fopen("tempera.txt","w");
    fprintf(ftemp,"%d",nbretemp);
        for (nbmaxjour=1;nbmaxjour<=nbjour;nbmaxjour=nbmaxjour+1)
        {
        fprintf(ftemp,"%s","\n");
        for (nbmaxtemp=1;nbmaxtemp<=nbretemp;nbmaxtemp=nbmaxtemp+1)
        {
        fprintf(ftemp,"%d ",tbtemp[nbmaxtemp][nbmaxjour]);
        }
    }
    fclose(ftemp);
  }
}
 
void ChargerTemp()
{ int nbmaxjour,nbmaxtemp;
  FILE *ftemp;
 
  cout << "Chargement des temperatures...\n";
  ftemp = fopen("tempera.txt","r");
  i=0;
  x=0;
   if (ftemp==NULL)
     cout << "Fichier inexistant: tempera.txt\n";
  else
  {  while (feof(ftemp)==false)
     {
 
       nbmaxtemp= nbmaxtemp+1;
       nbmaxjour= nbmaxjour+1;
       fscanf(ftemp,"%d \n",&tbtemp[nbretemp][nbjour]);
 
 
 
     }
     fclose(ftemp);
  }
  nbjour = mbmaxjour;
  nbretemp = nbmaxjour;
  system ("Pause");
}
 
 
 
int main()
{
    ChargerTemp();
    ChargerPluvio();
    int choix;
	Menu();
	cout <<"Entrez votre choix: ";
	cin >>choix;
	while (choix!=0)
	{ 
		switch (choix)
		{
			case 1: 	SaisirPluvio( );
			         		break;
			case 2: 	AfficherPluvio( );
                        break;
			case 3: 	SaisirTemp( );
					  break;
			case 4: 	AfficherTemp( );
					 break;
            case 5:     AfficherTempPartiel( );
                   break;
            default: 	cout <<"Erreur de choix\n";
		}
		system("PAUSE");
		Menu();
		cout <<"Entrez votre choix: ";
		cin >>choix;
	}
	SauvegarderPluvio();
	SauvegarderTemp();
 
	system("PAUSE");
 
}
et voila un exemple de ce que contient le fichier tempera.txt

La première ligne indique le nombre de relevé par jour
La seconde les relevés de température du jour 1
La troisième les relevés de température du jour 2
Le problème, c'est que je n'arrive pas a recharger les valeur "123 456" correctement dans le tableau.

Si vous pouvez m'aider S.V.P (désolé si mon message n'est pas très clair, je ne sais pas trop comment expliquer autrement ).
Merci d'avance