Lenoiche | j ai pratiquement fini mon programme
Code :
- #include <stdio.h>
- #include <string.h>
- char nom1[64]={0},temp[64]={0},var[64]={0},c;
- FILE *fichier1,*fichier2,*fichier3;
- void ouverture(FILE **fichier,char *nom,char *attribut)
- {
- if ((*fichier = fopen(nom,attribut)) == NULL)
- printf("ERREUR : impossible d'ouvrir le fichier %s .\n",nom);
- else
- printf("Fichier %s ouvert .\n",nom);
- }
- void espace(FILE *fichier,int vide)
- {
- int i;
- char c=' ';
- for (i=1;i<=vide;i++)
- fputc(c,fichier);
- }
- void getValeur(FILE *source,char *valeur)
- {
- char lettre;
- int i;
- i=0;
- while (((lettre=fgetc(source)) != ';') && (lettre != '\n'))
- {
- valeur[i]=lettre;
- i++;
- }
- valeur[i]='\0';
- }
- void setValeur(FILE *resultat,char *valeur,int format)
- {
- fputs(valeur,resultat);
- espace(resultat,format-strlen(valeur));
- }
-
- void constante(FILE *resultat,char *cons)
- {
- fputs(cons,resultat);
- }
- void ligne(FILE *source1,FILE *source2,FILE *resultat,char *test)
- {
- char var1[128];
-
- espace(resultat,7); //ANODOS//
- constante(resultat,"10590" ); //ACNOCL//
- setValeur(resultat,test,20); //AREFCL//
- while ((strcmp(test,var1) != 0) && (var1 != '\0'))
- {
- getValeur(source2,var1);
- }
- constante(resultat,"11" ); //ACAPDE//
- getValeur(source1,var1);
- setValeur(resultat,var1,30); //ANOMDE//
- espace(resultat,30); //AENSEI//
- getValeur(source2,var1);
- setValeur(resultat,var1,30); //ANRUE1//
- getValeur(source2,var1);
- setValeur(resultat,var1,30); //ANRUE2//
- espace(resultat,5); //AINSEE//
- getValeur(source2,var1);
- setValeur(resultat,var1,30); //ANCOMM//
- getValeur(source2,var1);
- setValeur(resultat,var1,5); //ACDPOS//
- getValeur(source2,var1);
- setValeur(resultat,var1,30); //ABDIST//
- getValeur(source2,var1);
- setValeur(resultat,var1,12); //ANTEL1//
- getValeur(source2,var1);
- setValeur(resultat,var1,12); //ANTEL2//
- constante(resultat," " );
- getValeur(source2,var1);
- setValeur(resultat,var1,14); //ANOREG//
- constante(resultat," " );
- getValeur(source1,var1);
- setValeur(resultat,var1,2); //ASSFAC//
- constante(resultat," " );
- getValeur(source1,var1);
- setValeur(resultat,var1,4); //ADTFAC//
- constante(resultat," 000000000,00" ); //AMNTPR//
- constante(resultat,"B" ); //ATARIF//
- constante(resultat,"2" ); //ATYPCC//
- constante(resultat," 000000000,00" ); //APRFFR//
- constante(resultat," 00" ); //ASSMED//
- constante(resultat," 000000" ); //ADTMED//
- espace(resultat,80); //ABFACT//
- espace(resultat,80); //ABFDCR//
- constante(resultat,"1" ); //ATAROP//
- espace(resultat,2); //ACDPAY//
- espace(resultat,80); //ADIVER//
- constante(resultat,"N" ); //ALITIG//
- constante(resultat,"C" ); //ATYDEB//
- espace(resultat,73); //ADIVER//
- constante(resultat,"EU" ); //ACDDEV//
- constante(resultat," 000000000,00" ); //APRIVD//
- constante(resultat," 000000000,00" ); //APRIND//
- constante(resultat,"\n" );
-
-
- }
-
-
- main()
- {
- printf("Entrez le nom du fichier source :\n" );
- scanf("%s",nom1);
- ouverture(&fichier1,nom1,"r" );
- printf("\n" );
-
- printf("Entrez le nom du fichier source :\n" );
- scanf("%s",nom1);
- ouverture(&fichier2,nom1,"r" );
- printf("\n" );
-
- printf("Entrez le nom du fichier destination :\n" );
- scanf("%s",nom1);
- ouverture(&fichier3,nom1,"w" );
-
-
- while (feof(fichier1) != 1)
- {getValeur(fichier1,temp);
- if (strcmp(var,temp) == 0)
- {
- while (fgetc(fichier1) != '\n')
- fgetc(fichier1);
- }
- else
- {
- ligne(fichier1,fichier2,fichier3,temp);
- fseek(fichier2,0,SEEK_SET);
- strcpy(var,temp);
- }
- }
- }
|
|