printing in a function

This commit is contained in:
2016-05-21 23:26:40 +02:00
parent e1ddc6bcfc
commit 46099de2c9
2 changed files with 16 additions and 9 deletions

13
Main.hs
View File

@@ -52,12 +52,7 @@ produitVaisselle = Recipe "Produit Vaisselle"
main = do main = do
putStrLn "Calcul du coût des recettes\n" putStrLn "Calcul du coût des recettes\n"
putStrLn "* Lessive :" printRecipeCost lessive
print lessive printRecipeCost beurre
let lessiveTotalCost = recipeCost lessive printRecipeCost dentifrice
lessiveUnitCost = unitCost lessive lessiveTotalCost printRecipeCost produitVaisselle
lessiveUseCost = useCost lessive lessiveTotalCost
putStrLn $ " * Prix Total = " ++ show lessiveTotalCost ++ ""
putStrLn $ " * Prix au litre = " ++ show lessiveUnitCost ++ ""
putStrLn $ " * Prix par utilisation = " ++ show lessiveUseCost ++ ""

View File

@@ -28,3 +28,15 @@ useCost (Recipe _ _ _ uses) totalCost = totalCost / uses
() :: Ingredient -> Double -> UsedIngredient () :: Ingredient -> Double -> UsedIngredient
() ingredient qtt = UsedIngredient ingredient qtt () 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 ++ ""