Vous êtes sur la page 1sur 18

UNIVERSITE TUNIS EL MANAR

ECOLE NATIONALE DINGENIEURS DE TUNIS

MINI-PROJET
PROGRAMMATION C

SUJET : Gestion de personnel d'une entreprise

RAPPORT

labor par :

Makni Salma
Grissa Amira
Classe : 1ATEL1

Encadr par :
BOUGHATTAS NAOUEL
HELEL Zohra

Anne Universitaire : 2010/2011

Sommaire
LISTES DES FIGURES.............................................................................................................
REMERCIEMENT.....................................................................................................................
INTRODUCTION GNRALE...............................................................................................
Chapitre 1 : SPCIFICATION..................................................................................................
I.1 Introduction........................................................................................................................
1.2 Spcification.......................................................................................................................
1.3 Conclusion..........................................................................................................................
Chapitre 2 : CONCEPTION......................................................................................................
2.1 Introduction.......................................................................................................................
2.2 Conception.........................................................................................................................
2.3 Conclusion........................................................................................................................11
Chapitre 3 : RALISATION...................................................................................................12
3.1 Introduction.....................................................................................................................12
3.2 Implmentation...............................................................................................................12
3.3 Tests..................................................................................................................................14
CONCLUSION GNRALE..................................................................................................17
RFRENCES BIBLIOGRAPHIQUES................................................................................17

Liste des figures


Figure 1 : diagramme des fonctions.......................................................................................
Figure 2 : le menu (partie statique)....................................................9

Figure 3 : fonction gestion (partie statique)........................................................................10


2

Figure 4 : les fichiers sauvegards.......................................................................................13


Figure 5 : menu (partie dynamique).................................................14

Figure 6 : fonction ajout_fiche (partie dynamique)...........................................................15


Figure 7 : fonction affiche_fiche teste aprs l'ajout (partie dynamique).......................16

Remerciement
Nous tenons exprimer nos plus vifs remerciements au professeur qui a su nous guider et vers
la rsolution du sujet trait, ainsi que les autres groupes de travail qui sont sur le mme projet
et qui ont fait preuve de solidarit, et finalement toute personne qui a influenc manire
directe ou indirecte notre travail.

Introduction gnrale
Dans le cadre du mini-projet du module Programmation C labor lors de la 1re anne
Tlcommunications lEcole Nationale dIngnieurs de Tunis, nous avons eu loccasion de
faire un programme intitul " gestion de personnel d'une entreprise " et qui sert la
manipulation des coordonnes des employs .
Le sujet de notre mini-projet consiste crer un gestionnaire du personnel dune entreprise
Ainsi, notre programme nous permet d'avoir une fiche de renseignement pour chaque
employ au sein de l'entreprise.
Notre rapport contient trois chapitres :

Chapitre I spcification qui dcrit notre travail demand (ralisation du cahier de


charge ) .

Chapitre II conception qui dcrit le mode de fonctionnement de notre projet .

Chapitre III ralisation qui dcrit le dveloppement de notre programme .

Enfin, une conclusion gnrale rsume notre travail et prsente des perspectives.

Chapitre 1 : spcification

1.1 Introduction
Ce programme permet la gestion du personnel au sein dune entreprise. Lapplication a t
dveloppe grce CodeBlocks.

1.2 Spcification
Notre objectif est de permettre l'utilisateur la gestion du personnel au sein de lentreprise via
le programme, leur salaire et enfin l'enregistrement des modifications tablies sur un fichier
texte ainsi que l'affichage du rsultat obtenu.

1.3 Conclusion
Nous avons mis au point une stratgie de transcription et un formalisme qui nous semble
cohrent et qui permettent dassurer une progression soutenue du plan de travail.

Chapitre 2 : conception
2.1 Introduction
6

La conception consiste dcomposer votre programme en fonctions et identifie toutes les


fonctions ncessaires au dveloppement de votre programme.

2.2 Conception
2.2.1 Cahier de charge
Structure des donnes :

un identifiant unique (10 chiffres)

numro CIN (8 chiffres)

nom

prnom

date de naissance (jour, mois, anne)

adresse

tel (tel_fixe, tel_mobile)

statut

poste

e-mail

Fonctionnalit :

Figure1: diagramme des fonctions

Le programme est constitu dun menu principal o lutilisateur aura faire un choix entre
l'une de ces fonctions :

Fonction afficher pour afficher la fiche des employs au sein de


lentreprise: void affiche_fiche ( )

Fonction ajouter afin dajouter un nouveau employ: void ajout_fiche( )

Fonction Supprimer pour supprimer la fiche dun employ: void


supprime_fiche ( )

Fonction modifier dans le but de modifier la fiche d'un employ: void


modifier_fiche ( )

fonction gestion o l'utilisateur aura nouveau faire un choix entre les


fonctions suivantes :

Fonction classer afin de classer les employs selon leur exprience:


void classer ( )

Fonction affichage_info_salaire afin dafficher les informations


ncessaires propos des salaires : le salaire de base, nombre dheures fixes,
cot des heures supplmentaires, nombre de jours de cong, cot des jours
de cong, montant supplmentaire pour un ouvrier, montant supplmentaire
pour un technicien, montant supplmentaire pour un ingnieur, salaire de
base ajout : void affichage_info_salaire ( )

Fonction calcul_min pour calculer le montant retranch pour les jours


de cong : void calcul_min ( )

Fonction calcul_sup afin de calculer le nombre des heures


supplmentaires : void calcul_sup ( )

Fonction rechercher afin de chercher un employ au sein d'une entreprise.


En effet la recherche se fait selon le numro CIN de lemploy : void
recherche_fiche ( )

Figure2: le menu (partie statique)

Figure 3: fonction gestion (partie statique)

Structure
typedef struct

10

{
char nom [20];
char prenom [20];
int jour;
int mois;
int annee;
long int CIN;
long int ident;
char poste[35];
long int salaire;
char diplome[100];
char statut[10];
long int tel_mobile;
long int tel_fixe;
char adresse [70];
char email[50];
}employe;
employe tab[100] ;

/* tableau de structures */

2.3 Conclusion :
Nous avons vu dans ce chapitre la partie statique de notre projet ( utilisant les tableaux de
structures ) mais cette mthode prsente l'inconvnient de sauvegarde des fiches des employ.
Pour cela on va utiliser une autre version qui sera la version dynamique.

11

Chapitre 3 : Ralisation

3.1 Introduction
Dans ce chapitre, nous prsentons nos outils de travail, les mthodes et les choix
dimplmentations pour lesquels nous avons opt pour la partie dynamique , et enfin les
procds grce auquel nous testons les diffrentes parties fonctionnelles du programme.

3.2 Imprmentation
Nous avons dvelopp notre programme avec loutil CodeBlocks 10.05 sous forme de projet
Gestion du personnel dans une entreprise incluant des fichiers C et des fichiers H.
Le programme comprend un fichier C main principal qui englobe le menu de choix prsents
lutilisateur ainsi que lexcution de tout le programme principal, par le biais des autres
fichier C auquels elle fait appel partir du fichier H.

12

fonctions
Nous avons utilis les mmes fonctionnalits que la partie statique . Mais faute de temps on a
liminer la fonction gestion.

affiche_fiche : void affiche_fiche(employe * debut)

ajout_fiche : void ajout_fiche(employe ** debut, employe ** fin, int *


taille)

supprime_fiche : void supprime_fiche(employe ** debut, employe ** fin,


int * taille)

recherche_fiche : void recherche_fiche (employe **L, long int Id)

Concernant l'utilisation des fichiers, nous avons recours ajouter les fonctions
suivantes:

sauvegarder : void Sauvegarder(employe * debut)

creation : employe * creation (char * nom, char * prenom, int jour, int
mois, int annee, long int cin, long int ident, char* poste, long int salaire,
char *diplome, char *statut, long int tel_mobile, long int tel_fixe, char
*adresse, char *email)

charger : void Charger(employe ** debut, employe ** fin, int *taille)

13

Figure 4 : les fichiers sauvegards

structure
typedef struct emp
{
char nom[20];
char prenom[20];
int jour;
int mois;
int annee;
long int cin ;
long int ident;
char poste [35];
long int salaire;

14

char diplome [100];


char statut [10];
long int tel_mobile ;
long int tel_fixe;
char adresse[70];
char email[50];
struct emp* suivant;
}employe;

3.3 Test
Aprs la compilation et la correction des erreurs syntaxiques nous avons arriv ltape de
lexcution
Pour tester notre agenda nous allons tester dabord notre main puis on teste la fonction ajouter
par laffichage

Figure 5 : menu (partie dynamique)

15

Figure 6 : fonction ajout_fiche (partie dynamique)

16

Figure 7 : fonction affiche_fiche teste aprs l'ajout (partie dynamique)

17

Conclusion gnrale

Ce rapport prsente le contexte dans lequel a t ralis ce mini-projet. Le premier chapitre


dfinit les besoins de lutilisateur auxquels il doit rpondre, le deuxime comporte les
fonctions et procdures ncessaire pour suivre les modalits du cahier de charges ainsi ralis
dans la partie statique, en troisime lieu une petite simulation sous le compilateur de langage
de programmation choisi est prvue, ainsi quune srie de test procder afin de vrifier que
l excution des diffrentes fonctions est valable dans la partie dynamique.
Nous avons trouv quelques difficults lors de la ralisation de notre projet notamment dans
la partie dynamique et plus prcisment dans lutilisation des listes chains cause du
dcalage entre les cours de programmation C et de la priode de la ralisation du projet ainsi
que la courte dure du temps de ralisation.

Rfrences bibliographiques
-

site du zro

cours programmation C

18