voilà, je dois acquérir un fichier de ce type :
79,74 -2,15 6,76 1,70
83,46 4,71 3,79 4,33
91,36 2,73 5,68 5,61
92,60 1,24 6,33 11,44
101,58 2,48 3,30 19,94
102,94 -4,47 6,97 22,74
107,29 4,27 5,77 31,30
116,45 4,00 5,51 32,54
126,33 1,85 3,65 33,27
135,14 4,21 6,61 39,13
135,88 0,11 4,53 40,97
140,04 3,22 3,86 46,87
143,63 3,22 3,96 51,29
143,63 -1,60 3,19 55,35
149,36 -1,82 5,35 61,55
154,28 3,23 4,29 68,92
154,86 0,71 3,86 77,24
157,25 4,01 6,82 81,54
161,72 3,21 6,77 89,73
171,27 -3,87 3,92 90,50
180,74 -1,30 6,06 94,30
189,06 -1,11 6,79 97,43
196,57 -0,57 3,34 105,24
196,68 3,45 6,98 106,13
199,86 4,16 4,61 106,37
208,05 -0,07 5,30 107,10
214,27 3,87 6,72 112,01
223,34 -3,35 6,57 121,74
229,04 -3,00 4,61 127,55
236,42 3,89 4,30 128,47
240,01 3,62 5,21 131,62
249,77 0,08 3,47 132,55
257,30 1,02 4,56 141,02
262,94 -0,15 3,94 145,55
272,81 -2,27 5,82 151,94
dans un tableau de dimension 2 .
JE PROGRAMME EN VISUAL STUDIO NET
voici le pgm que j'utilise :
#include <fstream>
#include <malloc.h>
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// strtok() -> decoupage de chaine de caracteres
// atoi -> convertir une chaine de caractere en un entier
// Nombre de colonne maximum du tableau
#define MAX_CHAR_PER_LINE 12 // Nombre de caratere maximum par ligne dans le fichier lu : 3*400+400+1 = 1601 mais j'ai mis 1650 pour arrondir
#define SEP " " // Séparateur utilisé dans le fichier
#define PATH "C:\\MESURE1.txt" // Mets l'emplacement de ton fichier contenant les valeurs
int main(int argc, char* argv[])
{
FILE* m_File;
int i = 0;
int j;
float Tab[4000][5];
char szbuff[MAX_CHAR_PER_LINE];
char* token;
// On initialise le tableau a -1
for(i=0;i<4000;i++)
{
for(j=0;j<5;j++)
{
Tab[i][j] = -1;
}
}
// On réinitialise le compteur de ligne car i;a été incrémenté lors de l'iniatialisation
i = 0;
// On ouvre le fichier en lecture seule et en mode texte
m_File = fopen(PATH,"rt" );
// On vérifie qu'il n'y ai pas eu d'erreur pendant l'ouverture du fichier
if(!m_File) return 1;
// On lit le fichier ligne a ligne et on stocke les valeurs dans un tableau d'entier
// La boucle while a l'avantage de permettre la lecture d'un fichier sans connaitre son nombre de ligne exact
// et nous évite donc de faire bugger le programme
// Le "feof" veut "End Of File". On lit donc jusuqu'à la fin du fichier
while(!feof(m_File) && i < 4000)
{
j = 0;
// On récupere la ligne courante du fichier
fgets(szbuff,MAX_CHAR_PER_LINE,m_File);
// On decoupe la ligne selon le charactere de séparation SEP (" " )
token = strtok(szbuff,SEP);
// On lit les éléments découpés un à un et on les stocke dans le tableau Tab
while(token != NULL && j < 5)
{
// On stocke la valeur lue dans le tableau
Tab[i][j] = atof(token);
// On lit l'element suivant retourner par strtok
token = strtok(NULL,SEP);
// On incremente le compteur des ordonnées
j++;
}
// On incrémente le compteur des abscisses
i++;
}
// On affiche le tableau pour etre sur que tout s'est bien passé... Le \t correspond au caractere tabulation
// Le 0.2f indique qu'on doit afficher un float avec 2 decimales après la virugle
for(int x=0;x<i;x++)
{
for(int y=0;y<j;y++)
{
printf("%0.2f\t",Tab[x][y]);
}
printf("\n" );
}
return 0;
}
mais le pgm defile et le compilateur me met ça à la fin :
'site.exe': Loaded 'C:\Documents and Settings\lefrancois\Mes documents\C++\site\Debug\site.exe', Symbols loaded.
'site.exe': Loaded 'C:\WINDOWS\SYSTEM32\ntdll.dll', No symbols loaded.
'site.exe': Loaded 'C:\WINDOWS\SYSTEM32\kernel32.dll', No symbols loaded.
The program '[204] site.exe: Native' has exited with code 0 (0x0).
merci de m'aider, je suis débutant