Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "b.h"
- #include<stdio.h>
- #include <string.h>
- int Menu()
- {
- int choice;
- printf("###MENU###\n");
- printf("1- Ajouter Employe\n");
- printf("2- Save File\n");
- printf("3- Search File by last name\n");
- printf("4- Search File by n\n");
- printf("5- Cleanup\n");
- printf("0- Quitter\n");
- printf("Votre choix: ");
- scanf("%d",&choice);
- return choice;
- }
- void fillEmploye(Employe users[], int *n)
- {
- printf("Donner n: ");
- scanf("%d", n);
- for(int s=0; s<*n; s++)
- {
- printf("Remplissage d'employe n%d\n", s+1);
- printf("Donner le nom: ");
- fflush(stdin);
- gets(users[s].nom);
- printf("Donner le prenom: ");
- fflush(stdin);
- gets(users[s].prenom);
- printf("Donner le nombre d'enfants: ");
- scanf("%d", &users[s].nbEnfant);
- }
- }
- void saveFile(Employe users[], char name[], int n)
- {
- FILE *filePointer ;
- printf("yo");
- filePointer = fopen(name, "w+b");
- printf("Saving in %s\n", name);
- if(filePointer != NULL)
- {
- fwrite(users,sizeof(struct Employe), n, filePointer);
- /*
- for(int s=0; s<n; s++)
- {
- printf("yo");
- fwrite(&users[s],sizeof(struct Employe), 1, filePointer);
- // fprintf(filePointer, "%s %s %d\n",users[s].nom, users[s].prenom, users[s].nbEnfant);
- }*/
- fclose(filePointer);
- }
- else
- {
- printf("Error opening file\n");
- }
- }
- int searchUser(char name[], char toSearch[])
- {
- FILE *filePointer ;
- filePointer = fopen(name, "rb");
- if(filePointer != NULL)
- {
- char nom[100];
- char prenom[100];
- int nb;
- Employe user;
- //fscanf(filePointer, "%s %s %d", nom, prenom, &nb)
- while( fread(&user,sizeof(struct Employe),1,filePointer) == 1 )
- {
- if(!strcmp(user.prenom,toSearch))
- {
- printf("%s %s is found.\n", user.nom, user.prenom);
- }
- }
- fclose(filePointer);
- }
- else
- {
- printf("Error opening file\n");
- }
- return 1;
- }
- int searchUser2(char name[], int num)
- {
- FILE *filePointer ;
- filePointer = fopen(name, "rb");
- if(filePointer != NULL)
- {
- Employe user;
- while( fread(&user,sizeof(struct Employe),1,filePointer) == 1 )
- {
- if(user.nbEnfant >= num)
- {
- printf("%s %s a %d enfants.\n", user.nom, user.prenom, user.nbEnfant);
- }
- }
- fclose(filePointer);
- }
- else
- {
- printf("Error opening file\n");
- }
- return 1;
- }
- void cleanup(char name[])
- {
- FILE *filePointer2 ;
- printf("yo");
- filePointer2 = fopen("temp.bin", "w+b");
- printf("Saving in %s\n", name);
- if(filePointer2 == NULL)
- {
- printf("Erreur\n");
- return;
- }
- FILE *filePointer ;
- filePointer = fopen(name, "rb");
- if(filePointer != NULL)
- {
- Employe user;
- while( fread(&user,sizeof(struct Employe),1,filePointer) == 1 )
- {
- if(user.nbEnfant != 0)
- {
- fwrite(&user,sizeof(struct Employe), 1, filePointer2);
- }
- }
- }
- else
- {
- printf("Error opening file\n");
- }
- fclose(filePointer);
- fclose(filePointer2);
- int status = remove(name);
- if (status == 0) printf("%s file deleted successfully.\n", name);
- rename("temp.bin",name);
- }
Add Comment
Please, Sign In to add comment