Exercice 11.6
#include <stdio.h>
#include <stdlib.h>
main()
{
/* Déclarations : */
/* Nom du fichier et pointeur de référence */
char NOM_FICH[] = "A:\\FAMILLE.TXT";
FILE *FICHIER;
/* Autres variables */
char NOM[30], PERE[30], MERE[30], ENFANT[30];
int J,N_ENFANTS;
int I,N_ENR;
/* Ouverture du nouveau fichier en écriture */
FICHIER = fopen(NOM_FICH, "w");
if (!FICHIER)
{
printf("\aERREUR: Impossible d'ouvrir "
"le fichier: %s.\n", NOM_FICH);
exit(-1);
}
/* Saisie des données et création du fichier */
printf("*** Création du fichier %s ***\n", NOM_FICH);
printf("Nombre d'enregistrements à créer : ");
scanf("%d",&N_ENR);
for (I=1; I<=N_ENR; I++)
{
printf("Enregistrement No: %d \n", I);
printf("Nom de famille : ");
scanf("%s", NOM);
printf("Prénom du père : ");
scanf("%s", PERE);
printf("Prénom de la mère : ");
scanf("%s", MERE);
printf("Nombre d'enfants : ");
scanf("%d", &N_ENFANTS);
fprintf(FICHIER, "%s\n%s\n%s\n%d\n",
NOM, PERE, MERE, N_ENFANTS);
for (J=1; J<=N_ENFANTS; J++)
{
printf("Prénom %d. enfant : ", J);
scanf("%s", ENFANT);
fprintf(FICHIER, "%s\n", ENFANT);
}
}
/* Fermeture du fichier */
fclose(FICHIER);
/* Réouverture du fichier */
FICHIER = fopen(NOM_FICH, "r");
if (!FICHIER)
{
printf("\aERREUR: Impossible d'ouvrir "
"le fichier: %s.\n", NOM_FICH);
exit(-1);
}
/* Affichage du fichier */
printf("*** Contenu du fichier %s ***\n", NOM_FICH);
while (!feof(FICHIER))
{
fscanf (FICHIER, "%s\n%s\n%s\n%d\n",
NOM, PERE, MERE, &N_ENFANTS);
printf("\n");
printf("Nom de famille : %s\n", NOM);
printf("Nom du père : %s %s\n", PERE, NOM);
printf("Nom de la mère : %s %s\n", MERE, NOM);
printf("Noms des enfants : \n", N_ENFANTS);
for (J=1; J<=N_ENFANTS; J++)
{
fscanf(FICHIER, "%s\n", ENFANT);
printf("\t%d. : %s %s\n", J, ENFANT, NOM);
}
}
/* Fermeture du fichier */
fclose(FICHIER);
return 0;
}
Feedback - Copyright © 1993,1996,1997 F.Faber