Vous êtes sur la page 1sur 19

ANNEE 2020/2021

MINI-PROJET
Programmation

Gestion de bibliothèque

REALISE PAR:
• AYOUB MAHIR

• Salma hadad

Youness gharif

• Encadre par: M.Lalaoui

Remerciements
Un travail n’est accompli que s’il fait référence à la
collaboration précieuse de certaines personnes pour
leur élaboration dans de bonnes conditions, et c’est
pourquoi avant d’accéder au vif de notre rapport, On
tient à exprimer notre profonde gratitude à toute
personne ayant participé de près ou de loin à la
réalisation de ce projet.
Nos respectueuses considérations et gratitudes
s’adressent à notre enseignant et encadrant :
M.LALAOUI qui nous a soutenu, encouragé et dirigé
tout au long de notre mini-projet et qui nous a assuré
un encadrement de qualité.
Nous tenons également à adresser nos sincères remerciements
à l’ensemble du corps enseignant de l’ISGA, pour avoir porté
un vif intérêt à notre formation, et pour avoir accordé le plus
clair de leur temps, leur attention et leur énergie et ce dans un
cadre agréable de complicité et de respect.
Enfin, que tous ceux qui ont contribué de près ou
de loin à l’accomplissement de ce travail trouvent
l’expression de nos remerciements les plus
chaleureux.
Sommaire

Introduction………………………………………………………
CHAPITRE 1-Cahier de charge…………………………….. 
CHAPITRE 2-Outils Utilisés........................................................................
• Pointeur......................................................................................
• Fichier.........................................................................................
• Structure de donnée....................................................................
CHAPITRE 3-le Programme………………………………….
Conclusion ………………………………………………………..
WEBOGRAPHIE………………………………………………….
-INTRODUCTION :
L'information est à la base du développement économique, culturel et social. Malgré
le développement des technologies de l’information et des communications,
l’information manuscrite est encore en vigueur.

La production de documents manuscrits a connu depuis des décennies une


croissance importante.

Notre projet est basé sur une problématique bien connue qui est : Gestion de
bibliothèque, ce projet qui a le but d’ignorer le stockage de l’information manuscrite
et la remplacer par une base de données pour gérer une bibliothèque.
CHAPITRE 1
-Cahier de charge
Le projet porte sur la création d’un programme permettant de gérer une bibliothèque.
Les besoins de la bibliothèque à laquelle nous allons nous intéresser seront
simplifiés par rapport à un cas réel afin de rendre l’étude réalisable dans le temps
imparti. Pour cela, nous considérerons par exemple que la bibliothécaire possède
des compétences en informatique et que cela ne lui pose pas de difficulté que
l’application soit développée en mode console. De plus, dans un premier temps,
l’application sera développée en mode mono-utilisateur, cela signifie qu’un seul et
unique utilisateur pourra utiliser l’application à un instant donné. Les informations
liées aux ressources seront par exemple : le titre, l’auteur, date de parution, éditeur.
L’application devra au minimum fournir à l’utilisateur les fonctionnalités suivantes :

– Permettre l’ajout et la suppression de médias dans le système de gestion de la


bibliothèque

– Permettre la consultation et modification des livres de la bibliothèque

– Permettre de sauvegarder et de charger le contenu de la bibliothèque à partir d’un


fichier

– Permettre de rechercher un livre à partir d’une information (son titre, le nom de


l’auteur, etc. )

_ Permettre de rechercher et afficher tous les lecteures


CHAPTRE 2-Outils utilisés.
• Pointeur :
En C, les pointeurs jouent un rôle primordial dans la définition de fonctions: Comme
le passage des paramètres en C se fait toujours par la valeur, les pointeurs sont le
seul moyen de changer le contenu de variables déclarées dans d'autres fonctions.
Cet échange la se fait par adresse et non pas par valeur.

b )Fichier :
Un programme a en général besoin de lire des données (texte, nombres, imagines,
sons , mesures,..) et de sauvegarder des résultats ces résultats cela se fait en lisant
et en  écrivant dans des fichiers Pour manipuler un fichier, on utilise un pointeur sur
une donnée spécifique dont le type est FILE (structure prédéfinie) .

Dans notre programme on a utilisé les fichiers binaires (un fichier binaire est un


fichier qui n'est pas un fichier texte. De nombreux formats de fichiers binaires
stockent une partie de leurs données sous forme de texte (une suite de caractères),
le reste servant à interpréter, formater ou afficher ce texte.)

c ) Structure de donnée :
une structure de données est une manière d'organiser les données pour les
traiter plus facilement. Une structure de données est une mise en œuvre concrète
d'un type abstrait.

Cela nous aide a appeler la fonction par son nom sans reprendre la formule plusieurs
fois.

CHAPITRE 3
-Le programme :
1-Structure :

2-Menu :
3-La saisie :
4-Modification :
FILE *fp, *fp1;

livre t, t1;

int fd=0, ct=0;

char titre[100];

fp=fopen(fichier_livre, "rb");

fp1=fopen(fichier_temp1, "wb");

printf("\nentrer le titre du livre a modifier: ");

scanf("%s", titre);

while(1){

fread(&t,sizeof(t), 1, fp);

if(feof(fp))

{break;}

if(strcmp(t.titre,titre)==0)

{fd=1;

printf("\nNouveau titre: ");

scanf("%s", t.titre);

printf("\nNouvel auteur: ");

scanf("%s", t.auteur);

printf("\nNouvel editeur: ");

scanf("%s", t.editeur);

printf("\nNouvelle parution: ");

scanf("%d%d%d", &t.parution.jour, &t1.parution.mois, &t1.parution.an);

printf("\nNouveau prix: ");

scanf("%d", &t.prix);

fwrite(&t, sizeof(t), 1, fp1);}

else{

fwrite(&t, sizeof(t), 1, fp1);}}


fclose(fp);

fclose(fp1);

if(fd==0){

printf("aucun resultat!\n\n");}

else{fp=fopen(fichier_livre,"wb");

fp1=fopen(fichier_temp1,"rb");

while(1)

{fread(&t, sizeof(t), 1, fp1);

if(feof(fp1))

{break;}

fwrite(&t,sizeof(t),1, fp);}}

fclose(fp);

fclose(fp1);}
5-La suppression  :
void suplivre()

{FILE *fp, *fp1;

livre t, t1;

int found=0, count=0;

char titre[100];

fp=fopen(fichier_livre, "rb");

fp1=fopen(fichier_temp1,"wb");

printf("\nentrer titre livre a supprimer: ");

scanf("%s", titre);

while(1){

fread(&t, sizeof(t), 1, fp);

if(feof(fp))

{break;}

if(strcmp(t.titre,titre)==0)

{found=1;}

else{

fwrite(&t, sizeof(t), 1, fp1);}}

fclose(fp);

fclose(fp1);if(found==0){

printf("aucun resultat!\n\n");}
else{

fp=fopen(fichier_livre, "wb");

fp1=fopen(fichier_temp1,"rb");

while(1){

fread(&t, sizeof(t), 1, fp1);

if(feof(fp1)){

break;}

fwrite(&t, sizeof(t), 1, fp);}}

fclose(fp);

fclose(fp1);}
Ici la suppression est faite !

6-La recherche:
7-L’affichage :
Conclusion :
Notre mini projet de la deuxieme année en Programmation était intéressant pour
améliorer nos connaissances et cela nous a permis de faire aussi des recherche
pour savoir le principe des fichiers, nous avons durant la réalisation de notre projet
appliqué directement nos connaissances du cours plus quelques recherches. Nous
espérons améliorer notre programme en ajoutant le prêt des livres, le retour des
livres et la sanction des lecteurs.

Ce projet a été vraiment intéressant et nous sommes fiers de cette réalisation.


7-WEBOGRAPHIE :

• Wikipédia
• Openclassroom
• Shareslide LINKEDIN

Vous aimerez peut-être aussi