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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
//---------->structure<------------//
typedef struct
{ int N;
char Nom[30];
char prenom[30];
char adresse1[40];
char adresse2[40];
char CodePostal[5];
char ville[34];
}client;
//------------->partie : Prototype <-------------//
void insere();
void afficher();
int Lire(char *chaine , int longueur);
void viderBuffer();
//------------->Fonction principale<-------------//
int main(void)
{ int choix , rep;
do
{ printf("MENU\n");
printf("1-Insere un client\n");
printf("2-afficher les client\n");
printf("choix : ");
scanf("%d",&choix);
switch(choix)
{ case 1 : insere(); break;
case 2 : afficher(); break;
default: printf("choix incorrecte\n");
}
printf("vous voulez faire une autre operation ? 1/0");
printf("choix : ");
scanf("%d",&rep);
}while(rep==1);
return 0;
}
//----------------->declaration de la structure<---------//
client c;
//-----------------> partie : Fonction <----------------//
//------------->fonction eliminer \n <--------------//
int Lire(char *chaine , int longueur)
{
char *positionEntree = NULL;
if(fgets(chaine, longueur , stdin ) !=NULL )
{
positionEntree = strchr(chaine, '\n');
if(positionEntree != NULL)
{
*positionEntree = '\0';
}
else
{
viderBuffer();
}
return 1;
}
else
{
viderBuffer();
return 0;
}
}
//------------->fonction : si on dépasse le nombre de caractere max<------//
void viderBuffer()
{
int c = 0;
while(c != '\n' && c != EOF)
{
c = getchar();
}
}
//--------------->Fonction ajouter<----------------//
void insere()
{ int NbrCliAjouter = 0 ,i ;
int NClientTotal=0;
FILE *fic ;
fic = fopen("client.txt","a");
if(fic == NULL)
{ printf("Erreur du fichier client.txt");
exit(1);
}
printf("Donnr le nombre de client a ajouter");
scanf("%d",&NbrCliAjouter);
NbrCliAjouter=NbrCliAjouter+NClientTotal;
fflush(stdin);
for(i=NClientTotal;i<NbrCliAjouter;i++)
{ printf("entrer le Nom :");
Lire(c.Nom , 30);
printf("entrer le prenom :");
Lire(c.prenom , 30);
printf("entrer le adresse1 : ");
Lire(c.adresse1 , 40);
printf("entrer le adresse2 : ");
Lire(c.adresse2 , 40);
printf("entrer le Code postale :");
Lire(c.CodePostal , 5);
printf("entrer la ville :");
Lire(c.ville , 34);
c.N = i+1;
fprintf(fic,"%d %s %s %s %s %s %s\n",c.N,c.Nom,c.prenom,c.adresse1,c.adresse2,c.CodePostal,c.ville);
}
fclose(fic);
}
//-------------------->fonction de afficher <-------------//
void afficher()
{FILE *fic;
fic = fopen("client.txt","r");
if(fic == NULL)
{ printf("Erreur du fichier client.txt");
exit(1);
}
while(fscanf(fic,"%d %s %s %s %s %s %s\n",&c.N,c.Nom,c.prenom,c.adresse1,c.adresse2,c.CodePostal,c.ville) != EOF)
{
printf("N :%d\nNOM: %s\nPRENOM: %s\nDRESSE1: %s\nADRESSE2: %s\n CODEPOSTAL: %s\nVILLE: %s\n",c.N,c.Nom,c.prenom,c.adresse1,c.adresse2,c.CodePostal,c.ville) ;
}
fclose(fic);
} |