Base de la programmation

frameb Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
quelquiun peut m'aide svp!
below c'est la question


Vous faites votre stage dans une petite bibliothèque qui désire changer le système informatique de la gestion de
ses emprunts. Un précédent stagiaire a commencé à mettre au point les classes qui se trouvent en annexe 1.
Vous disposez aussi des classes techniques de l'annexe 2. Attention les emprunts peuvent être "réservés"
donc enregistrés à l'avance : un livre peut avoir un emprunt prévu dans 2 semaines et donc être actuellement
disponible. Normalement, un emprunt ne peut pas dépasser 7 jours.
Travail à réaliser
Vous allez écrire plusieurs modules pour tester les classes mises à votre disposition. Attention, à vous de deviner,
à chaque fois, si le module à écrire est une procédure ou une fonction. Cependant vous pouvez écrire ces modules
en algo ou dans le langage de votre choix. Mais quelle que soit votre décision, vous devez utiliser uniquement les
classes données en annexe.
a. Écrire le module qui reçoit en paramètre une collection d'objets de type Livre et un titre de livre. Ce module
doit ajouter un nouveau livre dans la collection, à partir du titre passé en paramètre (1 point).
b. Écrire un module qui reçoit en paramètre une collection d'objets de type Livre et qui affiche la liste des titres
des livres qui ne sont actuellement pas empruntés (2 points).
c. Écrire le module qui reçoit en paramètre un objet de type livre ou de type LivreEnVente et qui ajoute à ce livre
un emprunt à la date du jour. Si l'ajout s'est bien passé, le module doit retourner vrai (2 points).
d. Écrire le module qui reçoit en paramètre une collection d'objets de type Livre et un objet de type Date. Ce
module doit afficher tous les titres des livres pour le moment empruntés à cette date (5 points).
10 CNED bases de la programmation - Devoir 2 8 2944 DG WB 00 14
Annexe 1
Classes métiers
Classe Livre
privé :
leTitre : chaine
// il n'y a pas 2 livres portant le même titre
lesEmprunts: Collection <Emprunt>// non trié
public :
Livre (leTitre : chaine)
getLeTitre () : chaine// getter sur leTitre
getLesEmprunts() : Collection <Emprunt>
// getter sur lesEmprunts
emprunté () : booléen
// retourne vrai si le livre est actuellement emprunté
// (date d'emprunt antérieure à la date d'aujourd'hui
// et date de retour à null)
ajouteEmprunt (uneDate : Date) : booléen
// ajoute un emprunt pour ce livre, à la date passée
// en paramètre, à condition que le livre ne soit pas
// en cours d'emprunt
ajouteEmprunt () : booléen
// surcharge la méthode précédente : même principe excepté
// que l'emprunt démarre aujourd'hui.
Classe LivreEnVente hérite de Livre
// un livre en vente est empruntable tant qu'il n'est pas vendu
privé :
prix : réel
dateVente : Date
public :
LivreEnVente (leTitre : chaîne, prix : réel)
// valorise les propriétés privées (la date de vente
// est initialisée à null)
getPrix() : réel
ajouteEmprunt () : booléen
// redéfinit la méthode ajouteEmprunt de la classe mère en
// contrôlant aussi si le livre n'est pas déjà vendu.
Classe Emprunt
privé :
leLivre : Livre
laDateEmprunt : Date
laDateRetour : Date
public :
Emprunt (unLivre : Livre, uneDateEmprunt : Date)
// valorise les 3 propriétés privées (la date de retour
// doit être initialisée à null)
getLeLivre () : Livre
getLaDateEmprunt () : Date
getLaDateRetour () : Date
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
0