Vous êtes sur la page 1sur 27

Gestion des étudiants

Réaliser par :
 Khadija Mahmoudi
 Salma Mouladdahra
 Aya Fellahi
 Taha Bakkali
Encadré par :
 Mr.Issam Zahraoui

1
REMERCIEMENT :

Avant de commencer ce mini projet, nous voudrons bien


remercier notre encadrant M.ZAHRAOUI, qui nous a
accompagné tout au long de la préparation de ce mini projet
qu’il retrouve nos profondes gratitudes pour leur aide durant
notre formation.

2
Table des matières :

1-      Introduction………………………………….…...3
2-      Cahier de charge…………………………….….3-4
3-      Outil de travail………………………………….4-9
4-      Travail à effectuer…………………………….9-19
a.       Code du programme……………....10-15
b.      compilation en Dev-C++………….16-19
5-      Conclusion………………………………………23

3
1. Introduction : 

Les gestions des données est un critère essentiel pour toute entreprise
ou établissement il se peut que ça soit une gestion de stock, gestion
des ressources humaines…

Et pour ce mini projet on a opté pour gérer l’ensemble des étudiants


d’une école à travers une interface simple et pratique. Le problème se
pose au niveau de l’administration, surtout quand le nombre des
étudiants augmente et ça devient de plus en plus délicat de traiter tous
ces données manuellement et les stocker.

Le traitement automatique alors améliore énormément le rendement


de l’établissement et surtout dans le gain du temps.

Le C++ est connu pour être un langage très puissant. Le C++ nous
permet d’avoir un grand contrôle sur la façon dont nous utilisons les
ressources informatiques.

Donc entre de bonnes mains sa vitesse et sa capacité à utiliser les


ressources à moindre cout devraient pouvoir surpasser les autres
langages.

4
2.  Cahier de charge : 

Dans ce mini projet on va essayer de gérer un groupe des étudiants à


travers un algorithme pratique.

Chaque étudiant est caractérisé par :

 Un numéro d’inscription ;

 Son nom ;

 Son prénom ;

 La filière ;

 Sa moyenne ;

Les différentes fonctionnalités de ce mini projet sont :

 Saisir plusieurs étudiants

 Afficher la liste des étudiants

 Rechercher un étudiant par nom

 Afficher les étudiants d'une filière

 Modifier un étudiant

 Supprimer un étudiant

 Quitter

3. Outil de travail :

Il Y a plusieurs outils de travail qu’on peut utiliser dans les


programmes de programmation, parmi eux on trouve par exemple :
JAVA, PHP, C++ …

5
En générale, un langage de programmation est une notation
conventionnelle destinée à formuler des algorithmes et produire
des programmes informatiques qui les appliquent. D'une manière
similaire à une langue naturelle, un langage de programmation est
composé d'un alphabet, d'un vocabulaire, de règles de grammaire,
de significations, mais aussi d'un environnement de traduction censé
rendre sa syntaxe compréhensible par la machine.

Les langages de programmation permettent de décrire d'une part les


structures des données qui seront manipulées par l'appareil
informatique, et d'autre part d'indiquer comment sont effectuées les
manipulations, selon quels algorithmes. Ils servent de moyens de
communication par lesquels le programmeur communique avec
l'ordinateur, mais aussi avec d'autres programmeurs ; les programmes
étant d'ordinaire écrits, lus, compris et modifiés par une équipe de
programmeurs.

Ce tableau comparatif va expliquer la différence entre ces


programmes de programmation :

Langages de programmation Caractéristiques


JAVA Un langage simple à prendre en main.
Basé sur le langage C/C++ mais laisse de
coté les sources de problèmes (pointeurs,
structures, gestion de la mémoire, héritage
multiple, macros, etc.).

Fausses rumeurs sur JAVA :

Java # Html ;

6
Java # C/C++ ;

Java n’est pas un langage de script (TCL,


Perl, etc.) ;

Java script n’est pas Java : tourne sur la


machine cliente ;

Java ne sert pas uniquement à faire à des


applets ;

Pas de pointeurs, compilateur très


contraignant, gestion de manière
indépendante, pas d’héritage multiple ni
surcharge des opérateurs.
C/C++ Caractéristiques du C ++:

Le C++ est le descendant du langage c. 

Le langage C++ est un des langages les


plus célèbres au monde.

Très utilisé, notamment dans le secteur

des jeux vidéo qui apprécient ses


performances et ses possibilités.

Le C++ est désormais incontournable


pour les développeurs.

Le C++ propose de nouvelles


fonctionnalités, comme la programmation
orientée objet (POO).

Elles en font un langage très puissant qui


permet de programmer avec une approche
différente du langage C.

Caractéristiques du C :

7
Langage concis, puissant et simple :

Très peu de mots clés ;

Aucune fonction de base (E/S,


mathématiques, chaînes de car, etc.…) ;

Tout est permis ou presque (absence de


vérifications à la compilation) ;

Développement plus long et mise au point


plus difficile ;

Le code compilé doit être compact et


rapide :

Beaucoup d’opérations de bas niveau ;

Prépondérance des pointeurs ;

Faire confiance au programmeur :

Rigueur et expérience ;
COBOL Le langage Cobol objet
« institutionnalisme » la réutilisation des
ressources, avec des instructions donnant
la possibilité de créer des objets à partir
d’objets d’existants ;

Le langage Cobol moderne et, en


particulier, Micro Focus Object Cobol,
vont plus loin dans la réutilisation des
objets ;

Le compilateur Cobol objet s’appuie sur


le système d’héritage de l’environnement
applicatif pour générer des applications
client-serveur de qualité ;

8
Dev-C++  Dev-C++ est un environnement de
développement intégré (IDE) permettant
de programmer en C et en C++ pour les
systèmes d'exploitation Windows. Il a été
créé et développé par Colin Laplace et sa
première version rendue publique en
1998. Longtemps à l'abandon, le projet a
été repris par un autre développeur en
2011 et est régulièrement mis à jour.
Il utilise la version MinGW du
compilateur GCC (GNU Compiler
Collection) (venu du monde du logiciel
libre) et permet d'exporter ses projets sous
fichiers .dev. Dev-C++ peut aussi être
utilisé en combinaison avec Cygwin ou
tout autre compilateur basé sur GCC.

Python Python est le langage de


programmation open source le plus
employé par les informaticiens. Ce
langage s’est propulsé en tête de la
gestion d’infrastructure, d’analyse de
données ou dans le domaine du
développement de logiciels. En effet,
parmi ses qualités, Python permet
notamment aux développeurs de se
concentrer sur ce qu’ils font plutôt que sur
la manière dont ils le font. Il a libéré les
développeurs des contraintes de formes
qui occupaient leur temps avec les
langages plus anciens. Ainsi, développer
du code avec Python est plus rapide

9
qu’avec d’autres langages.

PyCharm PyCharm est un environnement de


développement intégré utilisé pour
programmer en Python.
Il permet l'analyse de code et contient un
débogueur graphique. Il permet également
la gestion des tests unitaires, l'intégration
de logiciel de gestion de versions, et
supporte le développement web
avec Django.
Développé par l'entreprise
tchèque JetBrains, c'est un logiciel multi-
plateforme qui fonctionne sous Windows,
Mac OS X et Linux. Il est décliné en
édition professionnelle, diffusé sous
licence propriétaire, et en édition
communautaire diffusé sous licence
Apache.

4. Travail à effectuer :

Ce projet est divisé en plusieurs parties différentes, chaque partie


remplissant une fonction spécifique.

10
a. Code du programme :

Tout d’abord on introduit les bibliothèques concernées :

Figure 1  : les bibliothèques utilisés

<stdlib.h> : le fichier stlib.h, dit d’ ¨en-tête¨ fait partie de la


bibliothèque standard définie par la norme ANSI. Il contient les
déclarations de fonctions traitant d’allocation-mémoire, de de
conversion de chaîne de caractères en types numériques (in, long,
double), de tirages aléatoires,...

<string.h> : cette bibliothèque fournit un ensemble de fonctions qui


permettent de manipuler des chaînes de caractères. En voici la liste :

Strcat, strchr, strcmp, strcpy, strcspn, strlen, strncat, strncmp, strncpy,


strpbrk, strrchr, strspn, strlok.( leurs noms commencent toujours par
‘str’ pour string (chaine en anglais)).

11
Figure 2  : déclaration de structure

Pour déclarer une structure en identifiant des étudiants, on a besoin de


5 champs, et chaque champ possède un type différent de l’autre en
dépendant du contenu de chacun d’eux. Cette structure possède
numéro d’inscription, nom, prénom, filière et la moyenne de chaque
étudiant.

Figure 3  : la fonction de saisi

12
Pour remplir une liste contenant plusieurs étudiants on utilise une
fonction qui ne possède ni des arguments ni un retour, à l’intérieur de
cette fonction on applique une boucle pour simplifier la tâche de saisie
des informations des étudiants.

Figure 4  : fonction d'affichage

Après le remplissage de la liste on doit afficher ce qu’on a saisi, pour


cela on pose une fonction d’affichage contenant une boucle pour
afficher tous les étudiants saisis dans une liste.

13
Figure 5: fonction de recherche par nom 

La troisième fonction sert à chercher un étudiant par son nom, une fois
l’utilisateur introduise un nom elle le cherche parmi les noms saisis
dans la liste, si ce nom ne se trouve pas dans la liste elle affiche un
message d’erreur à l’aide d’une condition (if…..else), ainsi d’une
fonction strcmp pour comparer le nom introduise avec les noms dans
la liste.

14
Figure 6: fonction d’affichage des étudiants d'une filière

Cette fonction aide à afficher les étudiants d’une filière précise en


cherchant les étudiants qui ont concerné par cette filière, on a utilisé
une condition et une autre fonction strcmp.

15
Figure 7: fonction pour modifier un étudiant

Dans cette partie, la fonction utilisée sert à modifier un étudiant en


introduisant le numéro de l’étudiant concerné pour ressaisir ses
informations, et si ce numéro n’est pas exact elle affiche un message
d’erreur. Pour faciliter cette tâche on a utilisé une boucle et une
condition.

Figure 8: fonction pour supprimer un étudiant

Dans cette partie, on demande à l’utilisateur de saisir le numéro de


l’étudiant qu’il veut supprimer et on a utilisé une boucle dans cette
fonction pour chercher cet étudiant et le supprimer grâce à une
condition.

16
Figure 9: fonction pour quitter le programme

Et pour quitter le programme on utilise la commande cls (clean screen


en anglais) qui est utilisée pour effacer l’affichage.

Figure 10: menu du programme

Et pour afficher le menu de ce mini projet on a utilisé une boucle (do


… while) pour réafficher le menu jusqu’à ce que l’utilisateur choisisse
de quitter le programme et des switch cases pour appeler la fonction
choisie à partir du menu.

17
a- Compilation en Dev-C++ :

Quand on compile le programme, le menu s’affiche en premier dont


on trouve les différentes fonctions que le programme peut réaliser :

18
Choix 1 : Pour remplir la liste des étudiants, l’utilisateur doit
entrer le nombre des étudiants qu’il veut saisir puis il remplit
le tableau des étudiants par leurs informations.

19
Choix 2 : Après la saisie des étudiants, le deuxième choix
permet d’afficher la liste des étudiants comme suit :

20
Choix 3 : Et pour chercher in étudiant par nom, l’utilisateur
doit introduire le nom de l’étudiant qu’il cherche pour avoir
un résultat.

21
Choix 4 : L’utilisateur introduit une filière précise pour afficher la liste
des étudiants concernés.

Choix 5 : Pour modifier un étudiant il faut d’abord entrer le numéro de


l’étudiant concerné puis ressaisir les informations de cet étudiant.

22
La liste des étudiants après la modification sera comme suit :

23
Choix 6 : La même chose pour supprimer un étudiant, on doit entrer son numéro
d’inscription pour l’ignorer.

Et il sera supprimé de la liste :

24
Choix 7 : Ce choix nous permet de quitter le programme en affichant
un message qui l’indique.

Conclusion :

25
Pour réaliser un mini projet, il faut bien maitriser les techniques et les chapitres
étudiés, apprendre des nouvelles techniques pour réussir le mini projet ainsi que
s’adapter et gérer un travail entre équipe dans une ambiance professionnelle.

Les difficultés :

On a trouvé des difficultés pour ranger les informations pour


compléter la partie outils de travail.
26
Bibliographie :

 https://jobphoning.com/dictionnaire/cahier-des-charges

 https://fr.wikipedia.org/wiki/Langage_de_programmation#
%C3%89tude_comparative_de_27_langages

 file:///C:/Users/asus/Downloads/projet_C_Application_de_gestion_des_etud.pdf

 http://www.unit.eu/cours/Cfacile/co/ch6_p6_6.html

 https://perso.telecom-paristech.fr/hudry/Cfacile/comment/stdlib.html#:~text=Le
%20fichier%20stdlib.,de%20tirages%20al%C3%A9atoires%2C%20

27

Vous aimerez peut-être aussi