import Numeric ( showFFloat ) bmiTell :: Double -> Double -> String bmiTell wgt hgt | bmi <= skinny = "You're underweight, you emo, you!" | bmi <= normal = "You're supposedly normal. Pffft, I bet you're ugly!" | bmi <= fat = "You're fat! Lose some weight, fatty!" | otherwise = "You're a whale, congratulations!" where bmi = wgt / hgt / hgt (skinny, normal, fat) = (18.5, 25.0, 30.0) bmiValue :: Double -> Double -> Double bmiValue wgt hgt = wgt / hgt / hgt main :: IO () main = do let w = 70 let hCM = 175 let h = 0.01 * hCM putStrLn $ "Weight " ++ show w ++ " kg Height " ++ showFFloat (Just 2) h "" ++ " m" putStrLn $ " Your BMI value " ++ showFFloat (Just 2) (bmiValue w h) "" print (bmiTell w h)