1 猜数字游戏
8 package main
9
10 import (
11 "fmt"
12 "math/rand"
13 "time"
14 "os"
15 )
16
17 func welcome () int{
18 var xuanze int
19
20 fmt.Println("*****************************************************")
21 fmt.Println("*****************************************************")
22 fmt.Println("************ 欢迎来到猜数字游戏 *************")
23 fmt.Println("*****************************************************")
24 fmt.Println("************ 1 开始游戏 0 退出游戏 *************")
25 fmt.Println("*****************************************************")
26 fmt.Println("*****************************************************")
27
28 fmt.Scanln(&xuanze)
29 return xuanze
30 }
31 func main() {
32 a := welcome() //将welcome函数的值传给a
33 if a== 0 {
34 os.Exit(1) // 如果a等于0则退出程序
35 }
36
37 var cishu int = 0 //定义一个变量记录次数
38 rand.Seed(time.Now().Unix())
39 randnum := rand.Intn(100) //生成小于100的整数并赋值给randnum
40 for{
41 cishu++
42 var guessnum int
43 fmt.Println("请输入你要猜测的数字(0-100 整数)")
44 fmt.Scanln(&guessnum)
45 if guessnum > randnum {
46 fmt.Println("猜太大了! !再来再来")
47 }else if guessnum < randnum {
48 fmt.Println("猜太小了!!再来再来")
49 }else {
50 fmt.Printf("太棒了! 猜对了!,你用了%d 次完成 \n",cishu)
51 break
52 }
53
54
55 }
56 }
2 猜拳游戏
package main
9
10 import (
11 "fmt"
12 "os"
13 "math/rand"
14 "time"
15
16 )
17 func welcome() int{
18 println("*********************************************************")
19 println("*********************************************************")
20 println("******** 欢迎来到猜拳游戏 ************")
21 println("*********************************************************")
22 println("******** 1 开始游戏 0 退出游戏 ************")
23 println("*********************************************************")
24 println("*********************************************************")
25
26 println("请输入你的选择 1/0")
27 var a int
28 fmt.Scanln(&a)
29
30 return a
31 }
32
33 type Finger struct { //声明一个手指结构体
34 value int // name 石头 剪刀 布
35 name string // value 2 1 3
36 }
37
38 const ( // 声明常量
39 scissors int = 1
40 rock int = 2
41 paper int = 3
43 scissorsName string = "剪刀"
44 rockName string = "石头"
45 paperName string = "布"
46
47
48 )
49
50 func createUserFinger (fingername string) Finger{ //创建user对象的函数
51 //实参为用户输入的石头/剪刀/布
52 var finger Finger //声明一个finger实例对象 为Finger结构体类型
53 switch fingername{
54 case rockName:
55 finger.name =rockName
56 finger.value =rock
57 case scissorsName:
58 finger.name =scissorsName
59 finger.value = scissors
60 case paperName:
61 finger.name = paperName
62 finger.value = paper
63 }
64 return finger
65
66 }
67
68 func createAiFinger (fingervalue int) Finger { //创建电脑对象的函数
69
70 var finger Finger //实参为电脑生成的随机数 剪刀 1 石头 2 布 3
71 switch fingervalue{
72 case rock:
73 finger.name = rockName
74 finger.value = rock
75 case scissors:
76 finger.name = scissorsName
77 finger.value = scissors
78 case paper:
79 finger.name = paperName
80 finger.value = paper
81
82 }
83 return finger
84 }
85
86 //func game (){
87
88 //prin
89 //}
90
91
92 func main() {
93 var userFinger,aiFinger Finger //声明用户和电脑两个Finger
94 for {
95 xuanze := welcome()
96 if xuanze == 0 {
97 os.Exit(1)
98
99 }else if xuanze == 1{
100 break
101 }else{
102 println("输入错误,请输入 1/0")
103 }
104 }
105
106 var counte,result int //声明记录次数和结果的变量
107
108 for {
109 println("-----------------------------------------")
110 counte++ //每进行一次出拳次数加1
111
112 here:
113 println("请输入你的出拳(石头/剪刀/布)")
114
115
116 fmt.Scanln(&userFinger.name)
117 if userFinger.name != scissorsName && userFinger.name != rockName && userFinger.name != paperName {
118 println("输入错误,请输入 石头/剪刀/布")
119 goto here
120 }
121 userFinger = createUserFinger(userFinger.name)
122
123 rand.Seed(time.Now().Unix())
124 randnum := rand.Intn(3)+1 //随机生成 1 2 3
125 fmt.Printf("你的出拳是: %s \n",userFinger.name)
126
127 aiFinger = createAiFinger(randnum)
128 fmt.Printf("电脑的出拳是: %s\n",aiFinger.name)
129
130
131 result = userFinger.value-aiFinger.value //用userFinger的value减aiFinger的value得到一个值
132 // 1 =剪刀 2 =石头 3 =布
133 if result == 1 || result == -2 { //如果result==1 || result==-2 说明是2-1 或3-2 或 1-3 说明用户赢
134 fmt.Printf("恭喜你赢了! 你用了 %d 次完成 \n",counte)
135 break
136 }else if result == -1 || result == 2 { //如果 result==-1 || result== 2 说明是 1-2 或 2-3 或 3-1 说明电脑赢
137 println("太遗憾了你输了! 再来再来")
138 }else {
139 println("平局!再来再来") //还有一种结果是0 说明是同样的出拳 为平局
140 }
141 }
142
143 }
3 学生管理系统
8 package main
9
10 import (
11
12 "fmt"
13 "os"
14
15 )
16 func insert (student map[string]string) map[string]string{ //添加学生信息函数
17 var stunum,stuname string
18
19 println("*********************添加学生信息************************")
20 println("请输入要添加的学生学号")
21 fmt.Scanln(&stunum)
22 println("请输入要添加的学生姓名")
23 fmt.Scanln(&stuname)
24
25 student[stunum] = stuname
26
27 println("添加成功!")
28
29 return student
30 }
31 func ddelete(student map[string]string) map[string]string{ //删除学生信息函数
32 var stunum string
33
34 println("*******************删除学生信息*************************")
35
36 println("请输入你要删除的学生学号")
37 fmt.Scanln(&stunum)
38 for snum :=range student {
39 if stunum == snum {
40 var choose int
41
42 println("查找到此学生,是否确认删除?")
43 println(" 1 确认删除 0 立即取消")
44 fmt.Scanln(&choose)
45 switch choose {
46 case 1 :
47 delete(student,stunum)
48 println("删除成功!")
49 case 0 :
50 println("取消成功!")
51 goto here_3
52 }
53
54 } else {
55 println("查无此人!")
56
57 }
58 }
59 here_3:
60 return student
61 }
62 func modify(student map[string]string) map[string]string{ //修改学生信息函数
63 var stunum,newname string
64
65 println("******************修改学生信息**************************")
66
67 here:
68
69 println("请输入你要修改的学生学号")
70 fmt.Scanln(&stunum)
71 for snum := range student {
72 if snum == stunum {
73 println("请输入修改的内容(学生姓名)")
74 fmt.Scanln(&newname)
75 student[stunum] = newname
76
77 println("修改成功!")
78 } else {
79 println("查无此人,请重新输入")
80 goto here
81 }
82 }
83
84 return student
85 }
86 func view(student map[string]string){ //查看学生信息函数
87 var choose int
88 var stunum,snum string
89 println("******************查看学生信息**************************")
90 println("**** 1 查看所有学生信息 2 查找指定学生信息 ********")
91
92 fmt.Scanln(&choose)
93 switch choose {
94 case 1 :
95 for stunum := range student{
96 if stunum == "" {
97 println("还未添加学生信息,查找为空!")
98 }
99 fmt.Println("学号:",stunum," 姓名:",student[stunum])
100
101 fmt.Println(snum)
102 }
103 case 2 :
104
105 here_2:
106
107 println("请输入想要查找的学生学号")
108 fmt.Scanln(&stunum)
109
110 for snum := range student{
111 if snum == stunum {
112 println("查找成功!结果如下:")
113 println("学号:",snum,"姓名:",student[stunum])
114 }else {
115 println("查无此人,请重新输入")
116 goto here_2
117 }
118 }
119 }
120
121 }
122 func main() {
123 var students map[string]string
124 students = make(map[string]string)
125
126 for {
127 println("**********************************************************")
128 println("**********************************************************")
129 println("******** 学生信息管理系统 *********")
130 println("******** *********")
131 println("******** 1 添加学生信息 2 删除学生信息 *********")
132 println("******** *********")
133 println("******** 3 修改学生信息 4 查看学生信息 *********")
134 println("******** *********")
135 println("******** 0 退出学生管理系统 *********")
136 println("**********************************************************")
137 println("**********************************************************")
138 fmt.Printf("\n")
139 println("请输入你的选择 1/2/3/4/0")
140 var choose int
141 fmt.Scanln(&choose)
142
143
144
145 switch choose {
146 case 0 :
147 os.Exit(1)
148 case 1 :
149 students = insert(students)
150 case 2 :
151 students = ddelete(students)
152 case 3 :
153 students = modify(students)
154 case 4 :
155 view(students)
156
157
158
159 }
160 }
161 }
162