• 免费注册  马上登录
  • 切换到窄版
  • go语言|go语言部落|go文库

    查看: 70|回复: 0

    go语言实现简单的学生管理系统 -函数版

    [复制链接]

    23

    主题

    23

    帖子

    118

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    118
    发表于 2019-11-29 14:16:24 | 显示全部楼层 |阅读模式
    package main

    import (
       "fmt"
       "os"
    )

    /*生管理系
    够查看、新增生、*/
    var (
       allStudent map[int64]*student//明所有
    )
    type student struct{
       name string
       id int64
    }
    //student造函
    func newStudent(name string,id int64)*student{
       return &student{
          name:  name,
          id:    id,
       }
    }
    //义对应
    func showAllStudent(){
       //把所有的生都遍
       for k,value :=range allStudent{
          fmt.Printf("学号%d 姓名:%s\n",k,value.name)
       }

    }
    //allStudent中添加
    func addStudent(){
       //1.建一
       //1.1取用户输
       var (
          name string
          id int64
       )
       fmt.Print("请输入需要增加的生姓名:")
       fmt.Scan(&name,"\n")
       fmt.Print("请输生的学号")
       fmt.Scan(&id,"\n")
       //1.2生(student造函
       newStu :=newStudent(name,id)
       //nameidallStudent里面
       allStudent[id]=newStu
    }
    //allStudent
    func deleteStudent(){
       //1.户输入需要生的学号
       var deleteId int64
       fmt.Print("请输入需要生的学号;")
       fmt.Scan(&deleteId)
       //根据用户输入在allStudent查找
       delete(allStudent,deleteId)
    }
    func main(){
       allStudent=make(map[int64]*student,100)//初始化开辟内存空
       for {
          //1.打印菜
          fmt.Println("迎光golanguage生管理系")
          fmt.Println(`
       1.看所有
       2.新增
       3.
       4.退出`)
          fmt.Print("请输要干:")
          //2.等待用户选择需要做什
          var choice int
          fmt.Scanln(&choice)
          /*对应的函
          1.看所有
          2.新增
          3.
          4.退出
          */
          switch choice {
          case 1:
             showAllStudent()
          case 2:
             addStudent()
          case 3:
             deleteStudent()
          case 4:
             os.Exit(1) //退出
          default:
             fmt.Println("无效入,重新")
          }
       }
    }


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Go语言社区

    GMT+8, 2020-4-2 00:33 , Processed in 0.059830 second(s), 28 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表