-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
122 lines (99 loc) · 2.13 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().UnixNano())
var num1 = rand.Intn(100)
var num2 = rand.Intn(100)
randomize(num1, num2)
}
func randomize(num1 int, num2 int) {
var arr [1]int
rand.Seed(time.Now().UnixNano())
for i := 0; i <= 0; i++ {
arr[i] = rand.Intn(100)
}
// any number from 0 to 24 will return multiplication
if arr[0] <= 24 {
multiplication(num1, num2)
return
// any number from 25 and 49 will return division
} else if arr[0] >= 25 && arr[0] <= 49 {
// can't divide a number by 0
if num1 == 0 || num2 == 0 {
division(num1 + 1, num2 + 1)
} else {
division(num1, num2)
}
// any number from 50 to 74 will return addition
} else if arr[0] >= 50 && arr[0] <= 74 {
addition(num1, num2)
return
// any number from 75 to 99 will return subtraction
} else if arr[0] >= 75 {
subtraction(num1, num2)
return
} else {
fmt.Println("Error randomizing which question gets asked")
return
}
}
// gives an addition question
func addition(num1 int, num2 int) {
var addRes int
fmt.Println(num1, "+", num2)
fmt.Println("Your answer:")
fmt.Scanln(&addRes)
if addRes == num1 + num2 {
fmt.Println("Correct!")
return
} else {
fmt.Println("Sorry, that's incorrect")
return
}
}
// gives a subtraction question
func subtraction(num1 int, num2 int) {
var subRes int
fmt.Println(num1, "-", num2)
fmt.Println("Your answer:")
fmt.Scanln(&subRes)
if subRes == num1 - num2 {
fmt.Println("Correct!")
return
} else {
fmt.Println("Sorry, that's incorrect")
return
}
}
// gives a multiplication question
func multiplication(num1 int, num2 int) {
var mulRes int
fmt.Println(num1, "*", num2)
fmt.Println("Your answer:")
fmt.Scanln(&mulRes)
if mulRes == num1 * num2 {
fmt.Println("Correct!")
return
} else {
fmt.Println("Sorry, that's incorrect")
return
}
}
// gives a division question
func division(num1 int, num2 int) {
var divRes int
fmt.Println(num1, "/", num2)
fmt.Println("Your answer:")
fmt.Scanln(&divRes)
if divRes == num1 / num2 {
fmt.Println("Correct!")
return
} else {
fmt.Println("Sorry, that's incorrect")
return
}
}