iyed

Untitled

Feb 1st, 2020
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.58 KB | None | 0 0
  1. #include "b.h"
  2. #include<stdio.h>
  3. #include <string.h>
  4. int Menu()
  5. {
  6.     int choice;
  7.     printf("###MENU###\n");
  8.     printf("1- Ajouter Employe\n");
  9.     printf("2- Save File\n");
  10.     printf("3- Search File by last name\n");
  11.     printf("4- Search File by n\n");
  12.     printf("5- Cleanup\n");
  13.     printf("0- Quitter\n");
  14.     printf("Votre choix: ");
  15.     scanf("%d",&choice);
  16.     return choice;
  17. }
  18. void fillEmploye(Employe users[], int *n)
  19. {
  20.     printf("Donner n: ");
  21.     scanf("%d", n);
  22.     for(int s=0; s<*n; s++)
  23.     {
  24.         printf("Remplissage d'employe n%d\n", s+1);
  25.         printf("Donner le nom: ");
  26.         fflush(stdin);
  27.         gets(users[s].nom);
  28.         printf("Donner le prenom: ");
  29.         fflush(stdin);
  30.         gets(users[s].prenom);
  31.         printf("Donner le nombre d'enfants: ");
  32.         scanf("%d", &users[s].nbEnfant);
  33.     }
  34. }
  35. void saveFile(Employe users[], char name[], int n)
  36. {
  37.     FILE *filePointer ;
  38.         printf("yo");
  39.  
  40.     filePointer = fopen(name, "w+b");
  41.     printf("Saving in %s\n", name);
  42.     if(filePointer != NULL)
  43.     {
  44.                     fwrite(users,sizeof(struct Employe), n, filePointer);
  45.  
  46.         /*
  47.  
  48.         for(int s=0; s<n; s++)
  49.         {
  50.             printf("yo");
  51.             fwrite(&users[s],sizeof(struct Employe), 1, filePointer);
  52.       //      fprintf(filePointer, "%s %s %d\n",users[s].nom, users[s].prenom, users[s].nbEnfant);
  53.         }*/
  54.         fclose(filePointer);
  55.     }
  56.     else
  57.     {
  58.         printf("Error opening file\n");
  59.     }
  60. }
  61. int searchUser(char name[], char toSearch[])
  62. {
  63.     FILE *filePointer ;
  64.     filePointer = fopen(name, "rb");
  65.     if(filePointer != NULL)
  66.     {
  67.         char nom[100];
  68.         char prenom[100];
  69.         int nb;
  70.         Employe user;
  71. //fscanf(filePointer, "%s %s %d", nom, prenom, &nb)
  72.         while( fread(&user,sizeof(struct Employe),1,filePointer) == 1 )
  73.         {
  74.             if(!strcmp(user.prenom,toSearch))
  75.             {
  76.                 printf("%s %s is found.\n", user.nom, user.prenom);
  77.             }
  78.         }
  79.                 fclose(filePointer);
  80.  
  81.     }
  82.  
  83.     else
  84.     {
  85.         printf("Error opening file\n");
  86.     }
  87.     return 1;
  88. }
  89.  
  90. int searchUser2(char name[], int num)
  91. {
  92.     FILE *filePointer ;
  93.     filePointer = fopen(name, "rb");
  94.     if(filePointer != NULL)
  95.     {
  96.  
  97.                 Employe user;
  98.  
  99.         while( fread(&user,sizeof(struct Employe),1,filePointer) == 1 )
  100.         {
  101.             if(user.nbEnfant >= num)
  102.             {
  103.                 printf("%s %s a %d enfants.\n", user.nom, user.prenom, user.nbEnfant);
  104.             }
  105.         }
  106.  
  107.                 fclose(filePointer);
  108.  
  109.     }
  110.  
  111.     else
  112.     {
  113.         printf("Error opening file\n");
  114.     }
  115.     return 1;
  116. }
  117. void cleanup(char name[])
  118. {
  119.     FILE *filePointer2 ;
  120.     printf("yo");
  121.  
  122.     filePointer2 = fopen("temp.bin", "w+b");
  123.     printf("Saving in %s\n", name);
  124.     if(filePointer2 == NULL)
  125.     {
  126.         printf("Erreur\n");
  127.         return;
  128.     }
  129.  
  130.     FILE *filePointer ;
  131.     filePointer = fopen(name, "rb");
  132.     if(filePointer != NULL)
  133.     {
  134.  
  135.         Employe user;
  136.         while( fread(&user,sizeof(struct Employe),1,filePointer) == 1 )
  137.         {
  138.             if(user.nbEnfant != 0)
  139.             {
  140.                 fwrite(&user,sizeof(struct Employe), 1, filePointer2);
  141.             }
  142.         }
  143.  
  144.     }
  145.     else
  146.     {
  147.         printf("Error opening file\n");
  148.     }
  149.             fclose(filePointer);
  150.             fclose(filePointer2);
  151.  
  152.     int status = remove(name);
  153.  
  154.     if (status == 0) printf("%s file deleted successfully.\n", name);
  155.     rename("temp.bin",name);
  156. }
Add Comment
Please, Sign In to add comment