Numéro 2 ( vecteurs des joueurs de hockey (classe Vector) )

IFT 1170 : Programmation JAVA et applications (TP3 : / 40 points, automne 2009)
1
IFT 1170
Énoncé du T.P. #3
Session automne 2009
Chargé de cours: Michel Reid
Pparation: chez-vous, à partir de la semaine du 9 novembre.
Réalisation: durant vos monstrations, les riodes de pratique libre (P.L.).
Dépannage : par votre monstrateur (lors des démonstrations), les surveillants des périodes de pratique libre.
Questions sur le TP3 : envoyez un courriel à dift1170@iro.umontreal.ca
Date de remise : jeudi 10 cembre.
Pénalité de retard : Chaque jour de retard entraînera une nali de 10 points (sur 40) par jour.
Note : Le travail en équipe de deux (au maximum) est permis. Vous ne remettez alors qu'un travail par équipe.
Barème : corrigé sur 40 points.
Assurez-vous d’avoir écrit vos coordonnées (nom et nom d’usager) ainsi que ceux de votre coéquipier (s’il y a
lieu) en commentaires au début de chaque programme. Les équipes de 2 personnes ne doivent remettre qu’une
seule copie du T.P. Les équipes de 3 étudiants et plus sont interdites.
Le travail doit être remis en version électronique.
nalisi vous ne faites pas de remise électronique : - 40 points
nalisi vous oubliez d’indiquez votre nom, ou celui de votre coéquipier - 5 points
Conseil amical N’attendez pas la semaine précédant la remise avant de commencer... vous n’aurez pas le
temps!
Comme il ne vous reste qu’environ 6 semaines avant Noël, vous décidez d’écrire un programme
Java, utilisant des listes chaînées (LinkedList) pour gérer votre liste de cadeaux de Noël. Le
traitement de votre programme est expliqué en 3 parties.
Partie 1 ( Héritage)
Voici la description de quelques classes dont vous aurez besoin :
Cadeau : (classe abstraite)
attributs :
nom du produit
prix de base
méthodes :
prixTotal : retourne un double, cette méthode est abstraite.
equals : retourne true ou false selon que l’objet reçu en paramètre est identique au
cadeau.
toString : retourne une chaîne avec le nom du produit.
IFT 1170 : Programmation JAVA et applications (TP3 : / 40 points, automne 2009)
2
Pers :
attributs :
prénom de la personne
cadeau acheté (ou suggéré)
méthodes :
cout : retourne un double, le coût total (taxes et frais inclus) du cadeau.
equals : retourne true ou false selon que l’objet reçu en paramètre est une personne
ayant le même nom.
toString : retourne une chaîne avec le prénom, le cadeau et le coût.
Vous devez écrire 3 classes dérivées de Cadeau :
CadeauGeneral : Un Cadeau dont le prix total est : prix de base + TPS + TVQ
CadeauLivre : Un Cadeau dont le prix total est : prix de base + TPS
CadeauBillet : Un Cadeau dont le prix total est : prix de base + frais + TPS + TVQ
Note : Les frais, lorsque applicables sont de 7.50$.
La TPS, est calculée comme suit : (prix de base + frais (s’il y a lieu)) * .05
La TVQ, est calculée comme suit : (prix de base + frais (s’il y a lieu) + TPS) * .075
Des méthodes supplémentaires seront nécessaires pour permettre les traitements des parties à
venir.
Partie 2 (Linked List et Fichier Texte)
Votre programme devra utiliser 2 listes :
listePers :
Une liste contenant les personnes et le cadeau acheté.
listeSuggestions :
Une liste contenant les suggestions de cadeaux pour toutes les personnes.
Pour remplir listeSuggestions, vous disposez du fichier suggestions.txt dont la
structure est comme suit :
Une suggestion par ligne :
prénom (car. 0 à 9)
type (car.10) : G pour général, L pour un livre ou B pour un billet de spectacle.
prix de base (car.12 à 18)
le nom du produit (la fin de la ligne)
exemple de contenu du fichier :
Marie G 123.45 Imprimante HP Deskjet 7200
Jean B 72.45 Canadiens de Montréal
Valerie L 15.00 Harry Potter et les reliques de la mort
...
IFT 1170 : Programmation JAVA et applications (TP3 : / 40 points, automne 2009)
3
La liste listePers sera remplie à partir de manipulations sur listeSuggestions.
Partie 3 (Linked List et boîtes de dialogue)
Après la lecture du fichier, vous affichez une boîte de dialogue affichant un menu comme suit :
Selon le choix de l’usager, votre programme va :
1 : Afficher le contenu de la liste listeSuggestions dans la console (avec System.out.println)
4 : Afficher le contenu de la liste listePers dans la console.
5 : Se terminer
2 : Votre programme va d’abord afficher une boîte de
dialogue pour saisir le prénom de la personne
comme suit :
Par la suite, le programme va chercher tous les
éléments dans listeSuggestions correspondant à ce
prénom et les afficher dans une boîte de dialogue
semblable à celle-ci :
IFT 1170 : Programmation JAVA et applications (TP3 : / 40 points, automne 2009)
4
Si le choix est 3, votre programme va d’abord afficher une boîte de dialogue pour saisir le
prénom de la personne, ensuite, le programme va afficher, une après l’autre, les éléments de la
liste listeSuggestions correspondant à ce prénom, dans une boîte de dialogue comme suit, tant
que l’usager n’a pas répondu oui, et qu’il reste d’autres éléments pour ce prénom.
Si l’usager répond oui à l’une de ces suggestions, votre programme va transférer l’élément
correspondant dans la liste listePers, puis supprimer cet élément ainsi que tous les autres
éléments correspondant à ce prénom de la liste listeSuggestions.
Donc, un prénom peut se retrouver plusieurs fois dans listeSuggestions, mais une seule fois dans
la liste listePers. Par contre, un prénom ne peut se trouver à la fois dans listeSuggestions et dans
listePers.
Barème de correction du TP3:
1. Classe Cadeau : 5 points
2. Classe Pers : 4 points
3. Classes ries (3 x 2 points) : 6 points
4. Lire le fichier et remplir listeSuggestions : 7 points
5. Affichage et traitement du menu : 1 point
6. Traitements choix 1et 4 (2 x 2 points) : 4 points
7. Traitement du choix 2 : 4 points
8. Traitement du choix 3 : 7 points
9. Traitement du choix 5 : 1 point
10. Commentaires : 1 point
Bonne chance et bon succès!
Équipe du IFT 1170, automne 2009.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !