[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]

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();
    }
}


Dans le fichier Supermarche.java , déclarez les classes nécessaires à la modélisation du supermarché, telles que suggérées ci-dessus.
Il vous est suggéré d'utiliser un ArrayList d'achats pour modéliser le contenu du caddie (voir cours 4, pages 42 et 43).
Faites bien attention à l'encapsulation (les variables d'instances doivent être privées).

Les méthodes à implémenter dans la classe concernant les achats sont :

Pour les caddies :

Pour les caisses :

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]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]