[Précédent] |
7.7 |
Supermarché - Enoncé | Niveau 2 |
||
But: |
Ecrire un programme orienté objet permettant comptabiliser les achats d'un supermarché | |||
Thème: |
poo de base | |||
Fichiers: |
Supermarche.java |
Un supermarché souhaite que vous l’aidiez à afficher le total des achats enregistrés par ses caisses. Il s’agit de compléter le programme Supermarche.java.
Voici les entités nécessaires pour modéliser le fonctionnement du supermarché :
Le programme principal est fourni dans le fichier Supermarche.java. Il a pour but de faire afficher le montant total de chaque caisse au
bout d’une journée donnée. Commencez par l’étudier.
Il s’agit maintenant de coder les structures de données et les méthodes manquantes. Ces entités doivent
pouvoir être testées avec le programme principal fourni :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
public class Supermarche { public static void main(String[] args) { // Les articles vendus dans le supermarché Article choufleur = new Article("Chou-fleur extra", 3.50, false); Article roman = new Article("Les malheurs de Sophie", 16.50, true); Article camembert = new Article("Cremeux 100%MG", 5.80, false); Article cdrom = new Article("C++ en trois jours", 48.50, false); Article boisson = new Article("Petit-lait", 2.50, true); Article petitspois = new Article("Pois surgeles", 4.35, false); Article poisson = new Article("Sardines", 6.50, false); Article biscuits = new Article("Cookies de grand-mere", 3.20, false); Article poires = new Article("Poires Williams", 4.80, false); Article cafe = new Article("100% Arabica", 6.90, true); Article pain = new Article("Pain d'epautre", 6.90, false); // Les caddies du supermarché Caddie caddie1 = new Caddie(); Caddie caddie2 = new Caddie(); Caddie caddie3 = new Caddie(); // Les caisses du supermarché // le premier argument est le numero de la caisse // le second argument est le montant initial de la caisse. Caisse caisse1 = new Caisse(1, 0.0); Caisse caisse2 = new Caisse(2, 0.0); // les clients font leurs achats // le second argument de la méthode remplir // correspond à une quantité // remplissage du 1er caddie caddie1.remplir(choufleur, 2); caddie1.remplir(cdrom, 1); caddie1.remplir(biscuits, 4); caddie1.remplir(boisson, 6); caddie1.remplir(poisson, 2); // remplissage du 2eme caddie caddie2.remplir(roman, 1); caddie2.remplir(camembert, 1); caddie2.remplir(petitspois, 2); caddie2.remplir(poires, 2); // remplissage du 3eme caddie caddie3.remplir(cafe, 2); caddie3.remplir(pain, 1); caddie3.remplir(camembert, 2); // Les clients passent à la caisse caisse1.scanner(caddie1); caisse1.scanner(caddie2); caisse2.scanner(caddie3); caisse1.totalCaisse(); caisse2.totalCaisse(); } } |
Les méthodes à implémenter dans la classe concernant les achats sont :
toute autre méthode vous semblant nécessaire.
Pour les caddies :
Pour les caisses :
La caisse 1 a encaisse 121.15 Frs aujourd'hui.où 1 est le numéro de la caisse et 121.15 le montant total. Vous supposerez que ce montant total est stocké comme attribut (et qu'il est mis à jour par la méthode scanner(..), ci-dessous).
scanner(...) : cette méthode, qui doit être conforme au programme principal fourni, permet à la caisse d’afficher le ticket de caisse correspondant au contenu du caddie. Cette méthode doit
aussi mettre à jour le montant total de la caisse en y ajoutant le montant des achats du caddie.
L’affichage tu ticket de caisse doit se faire selon le modèle ci-dessous et doit utiliser la méthode afficher précédemment codée :
========================================= 14/10/11 Caisse numéro 2 100% Arabica : 6.9 x 2 = 6.9 Frs (1/2 prix) Pain d'epautre : 6.9 x 1 = 6.9 Frs Cremeux 100%MG : 5.8 x 2 = 11.6 Frs Montant à payer : 25.4 Frs =========================================
Date dateCourante = new Date(); SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yy"); System.out.println(formatDate.format(dateCourante));Il faudra au préalable avoir fait les importations suivantes en début de fichier:
import java.util.Date; import java.text.SimpleDateFormat;
Une fois le programme complété, l'exécution du programme principal devrait ressembler à ceci:
========================================= 14/10/11 Caisse numero 1 Chou-fleur extra : 3.5 x 2 = 7.0 Frs C++ en trois jours : 48.5 x 1 = 48.5 Frs Cookies de grand-mere : 3.2 x 4 = 12.8 Frs Petit-lait : 2.5 x 6 = 7.5 Frs (1/2 prix) Sardines : 6.5 x 2 = 13.0 Frs Montant à payer : 88.8 Frs ========================================= ========================================= 14/10/11 Caisse numero 1 Les malheurs de Sophie : 16.5 x 1 = 8.25 Frs (1/2 prix) Cremeux 100%MG : 5.8 x 1 = 5.8 Frs Pois surgeles : 4.35 x 2 = 8.7 Frs Poires Williams : 4.8 x 2 = 9.6 Frs Montant à payer : 32.35 Frs ========================================= ========================================= 14/10/11 Caisse numero 2 100% Arabica : 6.9 x 2 = 6.9 Frs (1/2 prix) Pain d'epautre : 6.9 x 1 = 6.9 Frs Cremeux 100%MG : 5.8 x 2 = 11.6 Frs Montant à payer : 25.4 Frs ========================================= La caisse numero a encaisse 121.15 Frs aujourd'hui La caisse numero a encaisse 25.40 Frs aujourd'hui
[Précédent] |