Programmation modulaire

Fermé
anne angela yapo Messages postés 4 Date d'inscription mardi 30 juillet 2013 Statut Membre Dernière intervention 6 août 2013 - 30 juil. 2013 à 22:04
juliencolin54 Messages postés 217 Date d'inscription dimanche 22 juillet 2012 Statut Membre Dernière intervention 1 octobre 2013 - 30 juil. 2013 à 22:24
salut j'ai un rapport a faire sur ce programme on me demande de le rendre en programation modulaire et franchement je comprend absolument kedal veiller m'aidé le plus rapidement possible mer6 de m'expliqué aussi
#include <stdio.h>
#include <stdlib.h>
#define NB 50
#define F_SORTIE "sortie"
int main(void)
{
FILE *f_in, *f_out;
int *tab;
int i;
tab = (int*)malloc(NB * sizeof(int));
for (i = 0 ; i < NB; i++)
tab[i] = i;
/* ecriture du tableau dans F_SORTIE */
if ((f_out = fopen(F_SORTIE, "w")) == NULL)
{
fprintf(stderr, "\nImpossible d'ecrire dans le fichier
%s\n",F_SORTIE);
return(EXIT_FAILURE);
}
fwrite(tab, NB * sizeof(int), 1, f_out);
fclose(f_out);
/* lecture dans F_SORTIE */
if ((f_in = fopen(F_SORTIE, "r")) == NULL)
{
fprintf(stderr, "\nImpossible de lire dans le fichier
%s\n",F_SORTIE);
return(EXIT_FAILURE);
}
/* on se positionne a la fin du fichier */
fseek(f_in, 0, SEEK_END);
printf("\n position %ld", ftell(f_in));
/* deplacement de 10 int en arriere */
fseek(f_in, -10 * sizeof(int), SEEK_END);
printf("\n position %ld", ftell(f_in));
fread(&i, sizeof(i), 1, f_in);
printf("\t i = %d", i);
/* retour au debut du fichier */
rewind(f_in);
printf("\n position %ld", ftell(f_in));
fread(&i, sizeof(i), 1, f_in);
printf("\t i = %d", i);
/* deplacement de 5 int en avant */
fseek(f_in, 5 * sizeof(int), SEEK_CUR);
printf("\n position %ld", ftell(f_in));
fread(&i, sizeof(i), 1, f_in);
printf("\t i = %d\n", i);
fclose(f_in);
return(EXIT_SUCCESS);
}

1 réponse

juliencolin54 Messages postés 217 Date d'inscription dimanche 22 juillet 2012 Statut Membre Dernière intervention 1 octobre 2013 55
30 juil. 2013 à 22:24
Bonjour,

Voici un lien intéressant pour la programmation modulaire : https://openclassrooms.com/fr/courses

Est-ce que tu en as déjà fait ?

Comme cela est commenté; ton programme écrit dans un fichier puis lit ce dernier.
Il y écrit des int.

Pour t'aider, voici le fichier en hexa, qui devrait te permetre de comprendre pas mal de choses.
00000000   00 00 00 00  01 00 00 00  02 00 00 00  03 00 00 00  ................
00000010   04 00 00 00  05 00 00 00  06 00 00 00  07 00 00 00  ................
00000020   08 00 00 00  09 00 00 00  0A 00 00 00  0B 00 00 00  ................
00000030   0C 00 00 00  0D 00 00 00  0E 00 00 00  0F 00 00 00  ................
00000040   10 00 00 00  11 00 00 00  12 00 00 00  13 00 00 00  ................
00000050   14 00 00 00  15 00 00 00  16 00 00 00  17 00 00 00  ................
00000060   18 00 00 00  19 00 00 00  1A 00 00 00  1B 00 00 00  ................
00000070   1C 00 00 00  1D 00 00 00  1E 00 00 00  1F 00 00 00  ................
00000080   20 00 00 00  21 00 00 00  22 00 00 00  23 00 00 00   ...!..."...#...
00000090   24 00 00 00  25 00 00 00  26 00 00 00  27 00 00 00  $...%...&...'...
000000A0   28 00 00 00  29 00 00 00  2A 00 00 00  2B 00 00 00  (...)...*...+...
000000B0   2C 00 00 00  2D 00 00 00  2E 00 00 00  2F 00 00 00  ,...-......./...
000000C0   30 00 00 00  31 00 00 00                            0...1...


Est-ce que tu connais toutes les fonctions utilisées ou as tu besoin de plus d'explication les concernant ?

Cdlt,
0