From 46099de2c947c5a4a25ab8ccc1ffd9f260e6d6b4 Mon Sep 17 00:00:00 2001 From: Yves Dubromelle Date: Sat, 21 May 2016 23:26:40 +0200 Subject: [PATCH] printing in a function --- Main.hs | 13 ++++--------- RecipeCost.hs | 12 ++++++++++++ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Main.hs b/Main.hs index 6e7303f..18f232f 100755 --- a/Main.hs +++ b/Main.hs @@ -52,12 +52,7 @@ produitVaisselle = Recipe "Produit Vaisselle" main = do putStrLn "Calcul du coût des recettes\n" - putStrLn "* Lessive :" - print lessive - let lessiveTotalCost = recipeCost lessive - lessiveUnitCost = unitCost lessive lessiveTotalCost - lessiveUseCost = useCost lessive lessiveTotalCost - putStrLn $ " * Prix Total = " ++ show lessiveTotalCost ++ "€" - putStrLn $ " * Prix au litre = " ++ show lessiveUnitCost ++ "€" - putStrLn $ " * Prix par utilisation = " ++ show lessiveUseCost ++ "€" - + printRecipeCost lessive + printRecipeCost beurre + printRecipeCost dentifrice + printRecipeCost produitVaisselle diff --git a/RecipeCost.hs b/RecipeCost.hs index 762772f..d075a0c 100755 --- a/RecipeCost.hs +++ b/RecipeCost.hs @@ -28,3 +28,15 @@ useCost (Recipe _ _ _ uses) totalCost = totalCost / uses (→) :: Ingredient -> Double -> UsedIngredient (→) ingredient qtt = UsedIngredient ingredient qtt + +-- * Presentation +printRecipeCost :: Recipe -> IO () +printRecipeCost recipe = do + putStrLn $ "* " ++ recipeName recipe ++" :" + print recipe + let recipeTotalCost = recipeCost recipe + recipeUnitCost = unitCost recipe recipeTotalCost + recipeUseCost = useCost recipe recipeTotalCost + putStrLn $ " * Prix Total = " ++ show recipeTotalCost ++ "€" + putStrLn $ " * Prix à l'unité = " ++ show recipeUnitCost ++ "€" + putStrLn $ " * Prix par utilisation = " ++ show recipeUseCost ++ "€"