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 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
| #include <stdio.h>
#include <stdlib.h> // bibliotèque pour traiter les fichiers
#include <conio.h>
#include <string.h>
/*FILE* fopen(const char* nomdufichier, const char* modeOuverture);
int fclose(FILE* pointeurSurFichier);
char* fgets(char* chaine, int nombreDeCaracteresALire, FILE* pointeurSurFichier);*/
int max=0;
typedef struct // Déclaration de la structure
{
char nom[25]; // Nom
char prenom[25]; //Prenom
char fonction[70]; //fonction
int anciennete; //ancienneté
char tel[10]; //telephone
int present; //prend la valeur 1 si employé présent sinon prend la veleur 0
} Employes;
/*void afficheEmployes(Employes *personne) // Fonction qui affiche les valeurs de x et y
{
printf("Le nom est : %s\n", personne[1].nom);
printf("Le prenom est : %s\n",personne[1].prenom);
getch();
}*/
int main(void)
{
int nbabsents(char, int, Employes);//prototype de la fonction nbasents
int choix, nomnbre, present,c,anciennete,rep, nombre_employes,nombre;
char nom[25], prenom[25], fonction[70], tel[10];
Employes personne[50];
FILE* fichier = NULL;
fichier = fopen("employes1.txt","r+");
if (fichier != NULL)
{
//Remplissage du fichier
printf("Voulez vous creer le fichier? 1:oui 2:non\n");
scanf("%d",&rep);
while(rep==1)
{
printf("\n");
printf("Nom\n");
scanf("%s",nom);
fprintf(fichier,"%s\t",nom);
printf("\n");
printf("\n");
printf("Prenom\n");
scanf("%s",prenom);
fprintf(fichier,"%s\t",prenom);
printf("\n");
printf("\n");
printf("Fonction\n");
scanf("%s",fonction);
fprintf(fichier,"%s\t",fonction);
printf("\n");
printf("\n");
printf("Ancinnete\n");
scanf("%d",&anciennete);
fprintf(fichier,"%d\t",anciennete);
printf("\n");
printf("\n");
printf("Telephone\n");
scanf("%s",tel);
fprintf(fichier,"%s\t",tel);
printf("\n");
printf("\n");
printf("Present 1:oui 0:non\n");
scanf("%d",&present);
fprintf(fichier,"%d\n",present);
printf("\n");
printf("Autre employe? 1:oui 0:non\n");
scanf("%d",&rep);
}
nombre_employes=0;
while(!feof(fichier))
{
fscanf(fichier,"%s %s %s %d %s %d",&personne[nombre_employes].nom,&personne[nombre_employes].prenom,&personne[nombre_employes].fonction,&personne[nombre_employes].anciennete,&personne[nombre_employes].tel,&personne[nombre_employes].present);
nombre_employes=nombre_employes+1;
}
//On peut lire et écrire dans le fichier
printf("===Bienvenue dans la gestion de la liste du personnel, voici les actions disponibles===\n\n");
printf("0 - Voir le nombre de personnes qui ont la meme fonction\n");
printf("1 - Nom des personnes ayant le numero de poste renseigne\n");
printf("2 - Nombre de personnes ayant l'anciennete la plus elevee\n");
printf("3 - Identite de la personne presente ayant la fonction renseignee\n");
printf("4 - Numero de poste d'une personne selon son nom et son prenom\n");
printf("5 - Gerer la liste des employes\n");
printf("Faites votre choix\n");
scanf("%d",&choix);
switch(choix)
{
case 0 :
printf("Veuillez entrer une fonction\n");
scanf("%s",fonction);
nombre=nbabsents(fonction,nombre_employes,&personne);
printf("Il y a %d personnes qui ont la fonction %s\n",nombre,fonction);
break;
/*case 1 :
printf("Veuillez entrer un numero de poste\n");
scanf("%d",&tel);
listeposte(tel,&*personne);
break;
case 2 :
retraite(&*personne);
break;
case 3 :
printf("Veuillez entrer une fonction\n");
scanf("%s",&fonction);
identfonct(&fonction,&*personne);
break;
case 4 :
printf("Veuillez entrer un nom\n");
scanf("%s",&nom);
printf("Veuillez entrer un prenom\n");
scanf("%s",&prenom);
posteN(nom,prenom,&*personne);
break;
case 5 :
("===Ajout de nouveaux membres ou consultation de la liste du personnel===\n");
printf("1 - Inscrire de nouveaux employes\n");
printf("2 - Afficher le personnel de l'entreprise\n");
printf("Faites votre choix\n");
}*/
}
/*fscanf(fichier,"%s %s %s %s",&personne[0].nom,&personne[0].prenom,&personne[1].nom,&personne[1].prenom);
//printf("%s %s",personne[1].nom,personne[1].prenom);*/
fclose(fichier);
//afficheEmployes(&*personne); // Appel de la fonction
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier employes1.txt");
}
getch();
return 0;
}
int nbabsents(char fonction,int nombre_employes,Employes * personne)
{
int resultat,i;
i=0;
resultat=0;
while(i<=nombre_employes)
{
if ((strcmp(personne[i].fonction,fonction)==0)&&(personne[i].present==0))
{
resultat=resultat+1;
}
i=i+1;
}
return(resultat);
} |
Partager