forked from steger/pr3-ws202627
fgh
parent
81a12a4f06
commit
7d84b5be29
|
|
@ -58,3 +58,80 @@ func main() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
const (
|
||||
opAdd = "add"
|
||||
opSubtract = "subtract"
|
||||
opMultiply = "multiply"
|
||||
opDivide = "divide"
|
||||
opExit = "exit"
|
||||
)
|
||||
|
||||
var result float64
|
||||
|
||||
func add(a, b float64) {
|
||||
result = a + b
|
||||
}
|
||||
func multiply(a, b float64) {
|
||||
result = a * b
|
||||
}
|
||||
func subtract(a, b float64) {
|
||||
result = a - b
|
||||
}
|
||||
func divide(a, b float64) {
|
||||
result = a / b
|
||||
}
|
||||
|
||||
func main() {
|
||||
var x float64
|
||||
var y float64
|
||||
|
||||
//TODO: implement according to README.md
|
||||
|
||||
//the following code just demonstrates how to use fmt.Scan
|
||||
|
||||
for {
|
||||
fmt.Print("What would you like to do? (add|subtract|divide|multiply|exit)")
|
||||
var str string
|
||||
fmt.Scan(&str)
|
||||
if str == opExit {
|
||||
break
|
||||
} else {
|
||||
|
||||
fmt.Print("Please enter a float: ")
|
||||
fmt.Scan(&x)
|
||||
|
||||
fmt.Print("Please enter a float: ")
|
||||
fmt.Scan(&y)
|
||||
|
||||
switch str {
|
||||
case opAdd:
|
||||
add(x, y)
|
||||
fmt.Println(result)
|
||||
case opMultiply:
|
||||
multiply(x, y)
|
||||
fmt.Println(result)
|
||||
case opDivide:
|
||||
if y == 0 {
|
||||
fmt.Println("Division by 0 is not possible")
|
||||
continue
|
||||
}
|
||||
divide(x, y)
|
||||
fmt.Println(result)
|
||||
case opSubtract:
|
||||
subtract(x, y)
|
||||
fmt.Println(result)
|
||||
default:
|
||||
fmt.Println("Unknown operation")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue