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
   | #include <stdio.h>
 
struct profil {
 
	char nom[20];
	char prenom[20];
	int age;
};
 
void vidage(void)
{
	scanf("%*[^\n]");
	getchar();
}
 
void main()
{	
	profil nouveau;
	FILE *f;
	char ch[100];
	int choix;
printf("-------------------------------------\n");
printf("Fiche V 0.0 \n");
printf("-------------------------------------\n");
printf("BOUGUERRA MOHAMED SIRE G 4\n");
	printf("\n");
	printf("Choisir une de ces possibilité \n");
	printf("1 : creer le fichier \n");
	printf("2 : lire le fichier \n");
	printf("3 : ajouter une fiche \n");
	printf("4 : rechercher une fiche \n");
	printf("\n");
	scanf("%d" , &choix);
 
switch(choix)
{
case 1: { f=fopen("data.txt","w+"); fclose(f); } break;
case 2: { 
	f=fopen("data.txt","r");
	fgets(ch,100,f);
	printf("%s", ch);
	fclose(f);
		} break;
case 3: { 
	f=fopen("data.txt","a+");
		printf("nouvelle Fiche : \n");
		printf("\n donner le nom : ");
		vidage();
		scanf("%s", nouveau.nom);
		printf("\n donner le prenom : ");
		vidage();
		scanf("%s", nouveau.prenom );
		printf("\n donner l age : ");
		vidage();
		scanf("%i", &nouveau.age ); //voici le problème , le compilateur me donne un certain 124050 !! 
		vidage();
 
		//testin
printf("-------------------\n");
printf("%s\n",nouveau.nom);
printf("%s\n",nouveau.prenom);
printf("%i\n", &nouveau.age);
 
// testin ends
		fputs(nouveau.nom,f);
		fputs("     ",f);
		fputs(nouveau.prenom,f);
		fputs("     ",f);
		putc(nouveau.age,f);
		putc('\n',f);
 
		fclose(f);
		} break;
default: printf("say bye\n");
 
}
 
 
 
} | 
Partager