Skip to content

L'épicerie du général Chaos

Partie 1

Après 20 ans de bon et loyaux services dans l'armée nord-coréenne, le général Chaos veut prendre sa retraite au Canada.

Après discussion avec Kim Jong 2, il décide de faire une immigration forcée et de s'ouvrir une épicerie au Canada.

Il réalise très vite qu'il n'y connait rien en nourriture Canadienne ni en administration et vous engage afin de mettre de l'ordre dans son entreprise !

Aidez le général à classer ses produits et à mitonner sa recette fétiche de viande frite, garnie de sauce sucrée.

Une Epicerie contient une liste de Produits. Chaque Produit contient une liste d'Ingredient.

Ajouter les produits nécessaires à l'épicerie afin de que général dispose de tout ce qu'il a besoin pour confectionner sa recette !

Mais ce n'est pas tout ! Le général vous demande de calculer le nombre de calories de son épicerie !

Ajouter un attribut calories de type int à la classe Ingredient et modifier les méthodes et constructeurs en conséquence.

Ajouter une méthode public int calculerCalories() dans la classe Epcerie qui calcule le nombre de calories disponible dans l'Epicerie.

Partie 2

Afin de bien prévoir ses profits, le général vous demande de suivre la courbe d'évolution des prix de ses produits.

  • Créer une classe PrixProduit qui contient un prix (en double), un Produit ainsi qu'une date (LocalDateTime).

  • Créer une classe CourbePrix, ajoutez y une liste de PrixProduit.

  • Créer un objet CourbePrix et ajouter des données dans la liste de PrixProduit.

Gestion d'une épicerie — Diagramme de classesGestion d'une épicerie — Diagramme de classesIngredient-nom : String-calories : int--+Ingredient(nom:String, calories:int)+getNom() : String+setNom(nom:String) : void+getCalories() : int+setCalories(calories:int) : void+toString() : StringProduit-nom : String-ingredients : List<Ingredient>--+Produit(nom:String)+getNom() : String+setNom(nom:String) : void+getIngredients() : List<Ingredient>+ajouterIngredient(ingredient:Ingredient) : void+retirerIngredient(ingredient:Ingredient) : boolean+getCaloriesTotales() : int+toString() : StringEpicerie-nom : String-produits : List<Produit>--+Epicerie(nom:String)+getProduits() : List<Produit>+ajouterProduit(produit:Produit) : void+supprimerProduit(produit:Produit) : boolean+afficherProduits() : void+calculerCalories() : intcalculerCalories() additionne lescalories de tous les ingrédientsde tous les produits.PrixProduit-prix : double-produit : Produit-date : LocalDateTime--+PrixProduit(produit:Produit, prix:double, date:LocalDateTime)+getProduit() : Produit+getPrix() : double+setPrix(prix:double) : void+getDate() : LocalDateTime+setDate(date:LocalDateTime) : void+toString() : StringCourbePrix-points : List<PrixProduit>--+CourbePrix()+ajouterPoint(point:PrixProduit) : void+ajouterPoint(produit:Produit, prix:double, date:LocalDateTime) : void+getPoints() : List<PrixProduit>+getSerie(produit:Produit) : List<PrixProduit>+getDernierPrix(produit:Produit) : Doublecontient10..*composés de10..*enregistre10..*pour*1
Gestion d'une épicerie — Diagramme de classesGestion d'une épicerie — Diagramme de classesIngredient-nom : String-calories : int--+Ingredient(nom:String, calories:int)+getNom() : String+setNom(nom:String) : void+getCalories() : int+setCalories(calories:int) : void+toString() : StringProduit-nom : String-ingredients : List<Ingredient>--+Produit(nom:String)+getNom() : String+setNom(nom:String) : void+getIngredients() : List<Ingredient>+ajouterIngredient(ingredient:Ingredient) : void+retirerIngredient(ingredient:Ingredient) : boolean+getCaloriesTotales() : int+toString() : StringEpicerie-nom : String-produits : List<Produit>--+Epicerie(nom:String)+getProduits() : List<Produit>+ajouterProduit(produit:Produit) : void+supprimerProduit(produit:Produit) : boolean+afficherProduits() : void+calculerCalories() : intcalculerCalories() additionne lescalories de tous les ingrédientsde tous les produits.PrixProduit-prix : double-produit : Produit-date : LocalDateTime--+PrixProduit(produit:Produit, prix:double, date:LocalDateTime)+getProduit() : Produit+getPrix() : double+setPrix(prix:double) : void+getDate() : LocalDateTime+setDate(date:LocalDateTime) : void+toString() : StringCourbePrix-points : List<PrixProduit>--+CourbePrix()+ajouterPoint(point:PrixProduit) : void+ajouterPoint(produit:Produit, prix:double, date:LocalDateTime) : void+getPoints() : List<PrixProduit>+getSerie(produit:Produit) : List<PrixProduit>+getDernierPrix(produit:Produit) : Doublecontient10..*composés de10..*enregistre10..*pour*1