summaryrefslogtreecommitdiff
path: root/src/calculator.hs
blob: 1da13af36b8777fc41a23cb3008904fa3bb6f2bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
calculate :: String -> Float -> Float -> Float
calculate operator number1 number2 = case operator of
  "+" -> number1 + number2
  "-" -> number1 - number2
  "/" -> number1 / number2
  "*" -> number1 * number2
  _ -> error "invalid operator!"

main :: IO()
main = do
  putStr "enter a number: "
  input<-getLine
  let number1 = (read input :: Float)

  putStr "enter an operator: "
  operator<-getLine

  putStr "enter another number: "
  input<-getLine
  let number2 = (read input :: Float)

  print (calculate operator number1 number2)