td6

2025-10-11 10:10:19 +02:00
parent 0893c8d363
commit fa95ef7348
4 changed files with 41 additions and 1 deletions

@@ -73,3 +73,11 @@ Sa syntaxe de base a inspiré de nombreux langages plus récents dont C++, Java
- [Travaux dirigés 4](td4) : Prendre un fichier en entrée et le séparer en plusieurs fichiers. - [Travaux dirigés 4](td4) : Prendre un fichier en entrée et le séparer en plusieurs fichiers.
- [Travaux dirigés 5](td5) : - [Travaux dirigés 5](td5) :
- [Travaux dirigés 6](td6) : - [Travaux dirigés 6](td6) :
### Remarques
- Intervertir TD 3 et TD 4. Les sorties du TD3 sont les entrées du TD 4
- TD 3 Renommer les fichiers de sorties en GBP, YEN, ...
- TD 4 : arguments en ligne de commandes
- TD 3 : rendre dynamique la lecture en comptant le nombre de colonne et en utilisant un tableau
- TD 3 : Faire l'opération inverse agréger plusieurs fichiers en un

2
td3.c

@@ -3,7 +3,7 @@
int main() { int main() {
FILE *fichier = fopen("data/observations.csv", "r"); FILE *fichier = fopen("data/observations.csv", "r");
if (fichier==NULL) { if (fichier== NULL) {
perror("Erreur d'ouverture du fichier"); perror("Erreur d'ouverture du fichier");
return 1; return 1;
} }

24
td4.c Normal file

@@ -0,0 +1,24 @@
int main() {
FILE *fichier = fopen("data/observations.csv", "r");
if (fichier == NULL) {
perror("Erreur d'ouverture du fichier");
return 1;
}
FILE *fA = fopen("A.csv");
FILE *fB = fopen("B.csv");
FILE *fC = fopen("C.csv");
FILE *fD = fopen("D.csv");
float vA, vB, vC, vD;
while (fscanf(fichier, "%f", &vA, &vB, &vC, &vD)==4) {
printf("%f\n", valeur);
fprintf(fA, "%f\n", vA);
fprintf(fB, "%f\n", vB);
fprintf(fC, "%f\n", vC);
fprintf(fD, "%f\n", vD);
}
}

8
td6.md

@@ -1 +1,9 @@
# Travaux dirigés n° 6 # Travaux dirigés n° 6
### Reprise du TD 4 pour le rendre dynamique
Le format n'est pas connu à l'avance il va falloir lire caractères par caractères pour trouver le nombre de colonnes.
### Reprise du TD 3 pour spécifier le nom du fichier en entrée.