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

publicité
IFT 1170
Énoncé du T.P. #3
Session automne 2009
Chargé de cours: Michel Reid
Préparation: chez-vous, à partir de la semaine du 9 novembre.
Réalisation: durant vos démonstrations, les périodes de pratique libre (P.L.).
Dépannage : par votre démonstrateur (lors des démonstrations), les surveillants des périodes de pratique libre.
Questions sur le TP3 : envoyez un courriel à [email protected]
Date de remise : jeudi 10 décembre.
Pénalité de retard : Chaque jour de retard entraînera une pénalité 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.
Pénalité si vous ne faites pas de remise électronique :
Pénalité si vous oubliez d’indiquez votre nom, ou celui de votre coéquipier
- 40 points
- 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)
1
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 :
CadeauLivre :
CadeauBillet :
Un Cadeau dont le prix total est : prix de base + TPS + TVQ
Un Cadeau dont le prix total est : prix de base + TPS
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
Jean
Valerie
...
G
B
L
123.45
72.45
15.00
Imprimante HP Deskjet 7200
Canadiens de Montréal
Harry Potter et les reliques de la mort
IFT 1170 : Programmation JAVA et applications (TP3 : / 40 points, automne 2009)
2
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
dialogue pour saisir le prénom de la personne
comme suit :
de
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)
3
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
2. Classe Pers
3. Classes dérivées (3 x 2 points)
4. Lire le fichier et remplir listeSuggestions
5. Affichage et traitement du menu
6. Traitements choix 1et 4 (2 x 2 points)
7. Traitement du choix 2
8. Traitement du choix 3
9. Traitement du choix 5
10. Commentaires
: 5 points
: 4 points
: 6 points
: 7 points
: 1 point
: 4 points
: 4 points
: 7 points
: 1 point
: 1 point
Bonne chance et bon succès!
Équipe du IFT 1170, automne 2009.
IFT 1170 : Programmation JAVA et applications (TP3 : / 40 points, automne 2009)
4
Téléchargement