printing in a function

master
Yves Dubromelle 9 years ago
parent e1ddc6bcfc
commit 46099de2c9

@ -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 ++ ""

@ -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 ++ ""

Loading…
Cancel
Save