Année scolaire : 2018 – 2019
Rapport du : 1AGE1
MINI PROJET
PROGRAMMATION
PROCEDURALE C
Travail élaboré par :
Chayma FRIKHA ET Sirine MAMA
Encadré par :
Ms TOUIL ET MDM BEN HADJ Lobna
-1-
Ꙭ Introduction Générale:
Aujourd'hui l'informatique est partout, une vraie épidémie ! Que ce soit dans les magasins,
les distributeurs, en passant par les stations-services, l'école, les bibliothèques, les
aéroports, ou au travail, plus rien ne fonctionne sans elle. L’informatique de gestion plus
particulièrement constitue l’un des domaines essentiels d'application qui ont permis le
développement rapide de l’informatique, la gestion des emplois du temps de l’ENIT en est
un exemple. Notre projet consiste à développer une application qui propose de nombreuses
fonctionnalités à l’utilisateur. On désire donc implémenter en C une application console qui
gère les emplois du temps de l’ENIT.
Ce rapport décrit les étapes de développement de notre projet.
Ꙭ Partie I : Spécification :
Cette application permet à l’utilisateur :
1/Gestion de la classe
2/Gestion de l’enseignant
3/Gestion du créneau
4/Gestion de l’emploi
1/Gestion de la classe :
1.1. Ajout, modification d’un étudiant
1.2 Affichage de la liste des étudiants
2/Gestion de l’enseignant :
2.1. Saisie, affichage d’un enseignant
2.2. Modification d’un enseignant
2.3. Ajout d’une matière
3/Gestion du créneau :
3.1. Saisie d’un créneau
3.2. Affichage d’un créneau
4/Gestion de l’emploi :
4.1. Remplissage de l’emploi aves des créneaux
4.2. Suppression des
créneaux
Menu principal :
1/Gestion des classes
2/Gestion des enseignants
3/Gestion des créneaux
4/ Gestion de l’emploi
5/ Quitter
Conception :
Dans cette partie, on présente les structures élémentaires du
programme :
typedef struct classe {
char refclasse[5];
etudiant tab[30];
int nbrE;
int etat;
}classe;
typedef struct classes {
classe tab[27];
int nbrc;
} classes;
Les attributs des structures classe et classes sont les suivants :
- Ref classe : c’est le nom de la classe (exemple ‘1age1’)
- Tab : c’est le tableau de max 30 étudiants
- nbrE : c’est le nombre des étudiants
- le deuxième tab est un tableau de classe de taille max 27 classes ( 9
filières * 3 classes )
- nbrc : le nombre total des classes
Démarrage de l’application :
L’application démarre avec ce menu principal :
while(1)
printf("\n\n******************************");
printf("\n******* Menu aux choix *******");
printf("\n******************************\n\n");
printf("------------------------------------ \n ");
printf("| 1. gestion etudiant \n ");
printf("| 2. gestion enseignant \n ");
printf("| 3. gestion classes \n ");
printf("| 4. gestion creneaux \n ");
printf("| 5. Affichage jour \n ");
printf("| 6. gestion emploi \n ");
printf("| 7. Quitter \n ");
*/ Gestion des enseignants :
typedef struct enseignant{
char nom[20];
char prenom[20];
int chargeHoraire;
char CIN[8];
matiere matieres[20];
int etat ;
int nbrmat;
}enseignant;
- les attributs nom, prenom et CIN désignent le nom, le prénom et le CIN de l’enseignant
- l’attribut chargeHoraire désigne le nombre d’heure de travail de l’enseignant
- les attributs matieres et nbrmat désigne les matières que l’enseignant puisse les enseigner et leurs nombre
- l’attribut etat désigne le fait que l’enseignant soit libre ou non
modif_enseignant(&EN);
*/ Gestion de créneau
typedef struct creneau {
matiere matiere;
heure debut;
heure fin;
classe c;
enseignant e;
salle s;
type t;
}creneau;
- L’attribut matiere désigne la matière qui va être enseignée durant cette séance
- Les attributs debut et fin représentent les heures de début et fin de séance
- L’attribut c’est la classe qui aura ce cours
- L’attribut e désigne l’enseignant de cette séance
- Type est une énumération qui désigne la nature de cette séance (td, TP, cours)
Ꙭ Conclusion Générale :
Ce projet intitulé gestion de l’emploi de temps de
l’ENIT nous a permis non seulement d’améliorer nos
compétences en programmation C mais aussi
d’apprendre le travail de groupe et le partage des
tâches ce qui est fondamental pour un ingénieur.
-2-