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
|
char sauvegarder (void)
{
char SAISIE;
char SAUVEGARDE[80];
FILE *fOut; /* ->flux de sortie */
int j;
printf("*****************************************\n");
printf("* MODULE DE GESTION DES COMPOSANTS PC *\n");
printf("* sauvegarde de la base *\n");
printf("*****************************************\n");
printf("Nom du fichier de sauvegarde : \n");
fflush( stdin );
scanf("%s", SAUVEGARDE);
printf("[V]alider ou [A]nnuler : [A] ou [V] suivi de [ENTREE] ? \n");
fflush( stdin );
scanf("%c",&SAISIE);
do
{
if (SAISIE='V')
{
/* on re-ecrit toute les infos sur le fichier */
fOut = fopen(SAUVEGARDE,"w");
if( fOut == NULL )
{
printf("erreur: impossible d'ouvrir le fichier %s...\n", SAUVEGARDE );
return( 0x00 );
};
/* on ecrit d'abord le nombre d'elements presents */
fprintf(fOut,"%d\n", BaseIndex );
/* a la suite, les donnees relatives a chaque composant, pris dans */
/* l'ordre du tableau : */
for(j=0; j < BaseIndex; j++ )
{
fprintf(fOut,"%d\n", BaseComposant[j].REFERENCE );
fprintf(fOut,"%s\n", BaseComposant[j].DESCRIPTION );
fprintf(fOut,"%d\n", BaseComposant[j].STOCK );
};
/* fermeture du fichier */
fclose( fOut );
}
else
{
sauvegarder();
};
}
while (SAISIE!='V' && SAISIE!='A');
return (SAISIE);
}
/*=====================================================================================*/
char charger (void)
{
int i; /* ->boucle */
char SAISIE;
char CHARGER[80];
FILE *fIn;
printf("*****************************************\n");
printf("* MODULE DE GESTION DES COMPOSANTS PC *\n");
printf("* chargement de la base *\n");
printf("*****************************************\n");
printf("Nom du fichier a charger : \n");
fflush( stdin );
scanf("%s",&CHARGER);
printf("[V]alider ou [A]nnuler : [A] ou [V] suivi de [ENTREE] ?\n");
fflush( stdin );
scanf("%c",&SAISIE);
if (SAISIE = 'V')
{
fIn = fopen(CHARGER,"r");
if( fIn == NULL )
{
printf("erreur : impossible d'ouvrir %s...\n", CHARGER );
return 0;
};
fflush( stdin );
fscanf(fIn,"%d", &BaseIndex );
for(i=0; i< BaseIndex; i++ )
{
fscanf(fIn,"%d", &(BaseComposant[i].REFERENCE));
fscanf(fIn,"%s", BaseComposant[i].DESCRIPTION);
fscanf(fIn,"%d", &(BaseComposant[i].STOCK) );
};
fclose( fIn );
}
else
{
charger ();
}
while (SAISIE!='V' && SAISIE!='A');
return (SAISIE);
} |