Golang基础阶段项目

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
                                                  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值