Vous êtes sur la page 1sur 9

Rapport de Projet

Informatique :
Gestion informatisée d’une Bibliothèque

Barkat Youcef Islam


Boularas Lyna
Section : 02
Groupe : 03
I. Introduction :

Ce Projet Informatique porte sur un logiciel déjà existant


initialement inventé au cours de l'année 1972 dans les Laboratoires
Bell. Il était développé en même temps qu’UNIX par Dennis
Ritchie et Ken Thompson. Ken Thompson avait développé un
prédécesseur de C, le langage B, qui est lui-même inspiré de BCPL.
Dennis Ritchie a fait évoluer le langage B dans une nouvelle version
suffisamment différente, en ajoutant notamment les types, pour
qu’il soit appelée C.

Le sujet que m’a proposé le professeur se porte sur les points


suivants :

 Tout d’abord, il me fallait voir d’un moyen informatisé si je me


retrouverai confronté à des problèmes d’organisation de la
bibliothèque de cette Université. Si oui, je devrais identifier
son origine et trouver une solution en programmation pour
des utilisations ultérieures.
 Puis, il est apparu que le programme nécessitait l’utilisation
de deux liens vers des Bibliothèques STDIO.H et STDLIB.H afin
de pouvoir fonctionner.
 Après, en utilisant des fonctions, je devais donc trouver
comment modifier le programme pour l’organisation de cette
bibliothèque universitaire.
II. Déroulement des Fonctions utilisées pour le
programme :
Tout d’abord, j’ai commencé par la déclaration de l’enregistrement
livre en premier lieu qui contient toutes les informations d’un livre de
la bibliothèque de l’Université et qui sont : le code, le nom de l’auteur,
le titre et le nombre de copies du livre ; en second lieu
l’enregistrement membre qui contient le nom, le prénom, le matricule
d’un étudiant et le nombre de livres empruntés de la bibliothèque par
ce dernier.

J’ai créé une Bibliothèque de 84 livres en les mettant dans un fichier


Bibl {Fichier d’enregistrement (livre)}.

A l’aide de la fonction ARRG on a pu arranger le vecteur Books qui


englobe le code des livres d’un étudiant lors de l’emprunt et la
restitution.

Pour afficher à chaque fois la Bibliothèque créé à la base après


chaque modification, j’ai réalisé la fonction AfficheBiblio qui nous aide
à afficher toutes les informations concernant un livre (le code, le nom
de l’auteur, le titre et le nombre de copies d’un livre) en les affichant 4
par 4 (A chaque fois on affiche 4 livres de la bibliothèque).

Après chaque restitution d’un livre de la part d’un étudiant à la


bibliothèque, il faut ajouter une copie au nombre de copies du livre, et
ce en utilisant la fonction AjoutCopie qui fonctionne de cette façon :
On entre le code du livre que l’on veut ajouter et on le compare avec le
code des livres déjà existants. Une fois que le code entré est égal à un
de ceux des livres de la bibliothèque le nombre de copies augmente
d’un.

Après chaque emprunt d’un livre de la part d’un étudiant à la


bibliothèque, il faut supprimer une copie du livre, pour cela on utilise la
fonction SuppCopie qui fonctionne comme suit :

On entre le code que l’on veut supprimer, on le compare avec le code


des autres livres, une fois l’égalité trouvée, le nombre de copies baisse
d’un.

On ajoute un nouveau livre à la bibliothèque, en utilisant la fonction


AjouterLivre. La modification du fichier Bibl étant impossible, j’ai utilisé
un autre fichier temporaire X, j’ai recopié toute la bibliothèque (les
livres) dans ce fichier X ensuite j’ai écrit les informations mises à ma
disposition du livre que l’on voulait ajouter. Après avoir rempli le
fichier temporaire, j’ai supprimé le fichier de base Bibl en utilisant
l’instruction remove puis j’ai donné au fichier X le même nom que le
fichier de base.

Pour vérifier la disponibilité d’un Livre dans une bibliothèque, j’ai


utilisé la fonction Dispo qui compare le code qui sera donné par
l’utilisateur avec le code des livres de la bibliothèque. Une fois que j’ai
trouvé l’égalité j’ai vérifié si le nombre de copies du livre du code
donné était supérieur à 0. Si oui, le livre est donc disponible sinon il ne
l’est pas.
J’ai aussi élaboré un fichier nommé Fmembre qui contient les
étudiants qui sont membres de la bibliothèque {Fichier
d’enregistrement (membre)}.

Pour afficher un étudiant qui est membre de la bibliothèque j’ai créé


la fonction Affichagememb qui nous aide à afficher toutes les
informations concernant un membre de la bibliothèque universitaire
(le Matricule, Nom et prénom d’un membre) et cet affichage se fait 4
par 4 (A chaque fois on affiche 4 membres de la bibliothèque).

A chaque fois qu’un étudiant voudrait emprunter un livre on utilise la


fonction Eprnt qui fonctionne de cette manière :

Après avoir donné le matricule de l’étudiant voulant emprunter un


livre ainsi que son code, j’ai comparé le matricule donné avec le
matricule des étudiants qui sont membres (Fichier Fmembre). Une fois
que j’ai trouvé le même matricule, j’ai écrit le code du livre dans le
vecteur qui contient le code des livres empruntés par cet étudiant juste
après avoir vérifié que la case n’est pas vide (car j’ai initialisé tout le
vecteur à 0, et quand c’est différent de 0 cela veut dire qu’il s’agit du
code d’un livre déjà emprunté). Mais quand un étudiant membre
emprunte un livre de la Bibliothèque il faut supprimer une copie du
livre du code donné et pour cela j’ai fait appel à la fonction SuppCopie.

Quand il s’agit de la restitution d’un livre, j’ai utilisé la fonction rndr


qui marche comme suit :

Après avoir donné le matricule de l’étudiant voulant rendre un livre à


la bibliothèque et le code du livre, j’ai comparé le matricule donné avec
le matricule des étudiants qui sont membres (Fichier Fmembre). Une
fois que je l’ai trouvé j’écrase le code en le remplaçant par 0 (car après
avoir rendu le livre il n’existe plus dans le vecteur alors j’ai réinitialisé
cette case à 0). Après chaque restitution on applique la fonction ARRG.

Sans oublier que quand un étudiant membre rend un livre à la


bibliothèque, il est nécessaire d’ajouter une copie du livre du code
donné c’est pourquoi j’ai fait appel à la fonction AjoutCopie.

Afin d’afficher le titre et le nom de l’auteur de chaque livre emprunté


par un étudiant membre de matricule donné, j’ai créé la fonction
AffichLivEtd qui commence par la comparaison du matricule donné
avec celui des membres du fichier Fmembre. Une fois trouvé j’ai vérifié
que le nombre de livres empruntés n’était pas nul, ensuite j’ai ouvert
un nouveau fichier temporaire tmp, j’ai mis tous les codes des livres
empruntés par l’étudiant dans ce fichier temporaire, et puis j’ai
comparé chaque code du fichier tmp avec les codes du fichier de la
bibliothèque. A chaque fois que je trouve l’égalité j’affiche le titre et le
nom de l’auteur du livre. Enfin, j’ai supprimé le fichier temporaire en
utilisant l’instruction remove.

Quand il s’agit d’ajout d’un membre à la bibliothèque j’ai élaboré la


fonction AjoutMemb comme suit :

Tout d’abord il fallait donner les informations concernant le nouveau


membre de cette bibliothèque (Matricule, Nom, Prénom et les codes
des livres empruntés).
J’ai ouvert le fichier initial contenant tous les membres et les ai
recopié dans le fichier tmp jusqu’à trouver le membre dont le
matricule est supérieur à celui du nouveau. Dans ce cas-là, j’ai d’abord
recopié les informations concernant le nouveau membre avant de
recopier le reste. Ensuite, j’ai procédé à la suppression du fichier
initial et ai attribué Fmembre comme nouveau nom au fichier tmp.

Ce programme réalise donc à l’aide des fonctions citées ci-dessus,


toutes les opérations aussi présentes dans le programme.
III. Conclusion :
Ce projet m’a été proposé par mon Professeur de TP Algorithme, et
le travail a été réalisé par un Binôme.
En Conclusion, Je peux donc affirmer que ce projet m’a beaucoup
enrichi dans le domaine d’informatique et plus particulièrement, la
programmation et qui a été en fin de compte, un travail agréable
car le résultat est concret et très satisfaisant.

Vous aimerez peut-être aussi