You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
3.0 KiB

#include "tp5.h"
void saisieEmployeNbreFormatrions(int *idEmp, int *nbForm)
{
printf("Veuillez saisir votre identifiant :");
scanf("%d", idEmp);
printf("identifiant de l'employé : %d\n", *idEmp);
while(*idEmp < 1000 || *idEmp > 9999)
{
printf("identifiant d'employé incorrect, il doit être à 4 chiffrres. Re-saisir : ");
scanf("%d", idEmp);
printf("%d\n", *idEmp);
}
printf("Veuillez saisir le nombre de formations :");
scanf("%d", nbForm);
printf("nombre de formations choisies : %d\n", *nbForm);
while(*nbForm < 0 || *nbForm > 10)
{
printf("nombre de formations incorrect, il doit être entre 0 et 10 compris. Re-saisir : ");
scanf("%d", nbForm);
printf("nombre de formations choisies : %d\n", *nbForm);
}
}
int saisieControleeIemeFormation(int i)
{
int idForm;
printf("Veuillez saisir l'identifiant de la %dème formation :", i);
scanf("%d", &idForm);
while(((idForm/10)<1 || (idForm/10) >5) || ((idForm%10) < 1 || (idForm%10) > 8))
{
printf("identifiant de la %dème formation incorrect, il doit être à 2 chiffrres. Re-saisir : ", i);
scanf("%d", &idForm);
printf("identifiant de la %dème formations choisies correct : %d\n", i, idForm);
}
return idForm;
}
void enregistrementEmployeNbreFormations(void)
{
int idEmp, nbForm, i = 1, idForm;
FILE *f;
f = fopen("donneesEmployes.txt", "a");
if(f == NULL)
{
printf("erreur d'ouverture du fichier");
exit(1);
}
saisieEmployeNbreFormatrions(&idEmp, &nbForm);
fprintf(f, "\n%d %d ", idEmp, nbForm);
while(i < (nbForm+1))
{
idForm = saisieControleeIemeFormation(i);
fprintf(f, "%d ", idForm);
i = i + 1;
}
fclose(f);
}
void traitementFichierEmployes(void)
{
FILE *f;
int idEmp, nbForm, i = 1, idForm;
f = fopen("donneesEmployes.txt", "r");
if(f == NULL)
{
printf("erreur d'ouverture du fichier");
exit(1);
}
while(!feof(f))
{
printf("identifiant de l'employé : %d\n", idEmp);
printf("nombre de formations choisies : %d\n", nbForm);
if(nbForm > 0)
{
while(i < (nbForm+1))
{
fscanf(f, "%d", &idForm);
printf("identifiant de la %dème formations choisies correct : %d\n", i, idForm);
i = i + 1;
}
}
i = 1;
printf("nombre d'employé qui n'ont pas suivie de formations :")
}
fclose(f);
}
void affiche1Categ(int numCateg, int nbThem)
{
int i = 1;
printf("Categorie %d : ", numCateg);
while(i < (nbThem+1))
{
printf("%d ", i);
i = i + 1;
}
printf("");
}
int afficheFormationProposees(void)
{
//affiche les identifiants de toutes les formations proposées cette année par l'entreprise
//cette fonction li le fichier formation.txt afin de réaliser cet affichage et retourne un code : (-1) si problème ou 1 sinon
FILE *f;
int numCateg, nbThem, i = 1;
f = fopen("formation.txt", "r");
if(f == NULL)
{
printf("erreur d'ouverture du fichier");
exit(1);
}
while(!feof(f))
{
fscanf(f, "%d %d", &numCateg, &nbThem);
affiche1Categ(numCateg, nbThem);
}
fclose(f);
return 1;
}