Bonjour à tous et à toutes, j’espère que vous allez bien.
Notre professeur vient de nous demander un projet que je n'arrive même pas à commencer ou à faire des schémas ( j'ai rien compris ) en plus je suis un débutant dans la programmation langage C donc prière à celui ou celle qui peut m'aider de me donner un coup de main et voici le travail demandé :
L’objectif de ce projet est de manipuler les listes linéaires chainées (les fichiers texte, éventuellement les tableaux).
On veut automatiser le fonctionnement d'une petite bibliothèque. Il s'agit d'enregistrer les livres nouvellement acquis / gérer les emprunts des livres / l'enregistrement des nouveaux abonnés (emprunteurs) / savoir le nombre d'emprunts par livre / par emprunteur, …etc.
Fiche livre
Un livre est caractérisé par les informations suivantes :
La cote (un numéro séquentiel)
Le titre (une chaine de caractère ne dépassant pas 100 caractères)
L'auteur
La date d'édition (doit être entre 1900 et 2016)
L'éditeur,
Les mots-clés (en nombre de 5 au maximum)
Le résumé (ne dépassant pas 200 mots)
Il faudra vérifier que l'ensemble des mots clés appartiennent bien au résumé.
Fiche Emprunteur
Elle contient :
Le nom
Le prénom
L’adresse actuelle
Le numéro de téléphone
Un numéro d’ordre attribué à la première inscription
La première date d’inscription.
Fiche Emprunt
Elle contient :
L’emprunteur
Le livre emprunté
La date d’emprunt
La date prévue de retour du livre
Un champ qui renseigne sur l'état de l'emprunt (livre rendu ou pas)
Remarques
1// La durée d'emprunt est de 4 semaines.
2// Un emprunteur n'a le droit d'emprunter qu'un seul livre
3// Les livres sont en un seul exemplaire.
4// Lorsque le livre est rendu, la date de retour effective est alors renseignée
5// Si la durée d'emprunt est dépassée, des pénalités seront appliquées (on prévoit un champ pénalité dans la fiche emprunteur +1 pénalité pour chaque jour écoulé après la date de retour limite).
6// L'application doit aussi offrir aux emprunteurs la possibilité de rechercher les livres qui peuvent les intéresser. La recherche peut s'effectuer par auteur ou par mot clé.
7// La recherche par auteur doit retourner toutes les informations sur les livres dont le nom de l'auteur corresponde exactement à celui recherché
8// La recherche par mots clé doit retourner tous les livres contenant les mots clé recherchés
9// Les listes (livre, emprunteur, emprunt) doivent être construites à partir d'un fichier texte dont le format est donné en annexe.
10// - Le modèle de LLC avec les structures (fiche livre, fiche emprunteur, fiche emprunt) ainsi que les différents modules doivent être créés dans une bibliothèque nommée Bib_LLC_BIBLIO.
Travail demandé
1. Donner les déclarations des structures : fiche livre, fiche emprunteur, fiche emprunt
2. Les fonctions de création d'un livre, d'un emprunteur (inscription d'un abonné), d'un emprunt (les fonctions d'ajout dans une liste)
3. La fonction de restitution d'un livre (le retour d'un livre).
4. Donner le nombre d'emprunt par emprunteur.
5. Afficher la liste des livres triée selon leur nombre d'emprunt (en indiquant ceux qui n'ont jamais été empruntés)
6. Afficher pour chaque livre non-disponible, le nom de l’emprunteur et la date de retour
7. Afficher la liste des emprunteurs pénalisés (en précisant leur pénalité). Il faut d'abord calculer les pénalités en cours.
8. Eclater la liste des emprunts selon le critère : emprunt en cours ou pas (afficher ensuite les deux listes dans un fichier texte)
9. La recherche d'un livre par auteur et par mot clés en indiquant pour chaque livre s'il est disponible ou pas.
ANNEXE : Format des fichiers :
1// Liste des livres :
Les champs sont séparés par des blancs, les mots-clés sont délimités par des '(' et ')', le résumé est délimité par #
Exemple : Cote titre auteur date_Edition Editeur (mots-clés1 mots-clés2 mot_clè3 ...) #résumé ............................................#
Chaque élément de la liste sur une ligne différente
2// Liste des emprunteurs :
Tous les champs sont séparés par des blancs
Nom prénom adresse téléphone numero_emprunteur
Chaque élément de la liste sur une ligne différente
3// Liste des emprunts :
Les champs sont séparés par des blancs
Cote_livre numero_emprunteur date_emprunt date_limite
Chaque élément de la liste sur une ligne différente
Merci d'avance.
Partager