青春纸盒子

文: 芦苇

你喜欢我笑的样子

我靠上了落寞的窗子

晚风吹起了我的袖子

明月沾湿了你的眸子


转身,你走出了两个人的圈子

树影婆娑,整座院子


挽起袖子

回头,把揽你忧伤一地的影子

装进,青春,这纸盒子


更多代码请关注我的微信小程序: "ecoder"

luwei0915

导航

02_Go游戏-函数版学生管理系统

package main

import (
    "fmt"
    "os"
)

type student struct {
    id   int64
    name string
}

var (
    allStudent map[int64]*student
)

// 构造函数
func newStudent(id int64, name string) *student {
    return &student{
        id:   id,
        name: name,
    }
}

func addStu() {
    var (
        userID   int64
        userName string
    )

    fmt.Print("请输入学生学号:")
    fmt.Scanln(&userID)
    if _, ok := allStudent[userID]; !ok {
        fmt.Print("请输入学生姓名:")
        fmt.Scanln(&userName)
    } else {
        fmt.Println("学生ID已存在!")
    }

    newStu := newStudent(userID, userName) // 初始化分配内存空间
    allStudent[userID] = newStu
}

func delStu() {
    var userID int64
    fmt.Print("请输入要删除的学生ID:")
    fmt.Scanln(&userID)
    if _, ok := allStudent[userID]; ok {
        delete(allStudent, userID)
        fmt.Println("删除成功!")
    } else {
        fmt.Println("学生ID不存在!")
    }
}

func showStu() {
    for _, v := range allStudent {
        fmt.Printf("学生ID: %d, 学生姓名:%s\n", v.id, v.name)
    }
}

func main() {
    var choiceNum int
    allStudent = make(map[int64]*student, 50) // 初始化分配内存空间
    for {
        fmt.Println(`
    欢迎光临学生管理系统!
    您可以:
        1. 添加学生
        2. 删除学生
        3. 查看学生
        0. 退出系统
    请输入数字确定您的操作:
    `)
        fmt.Scanln(&choiceNum)
        switch choiceNum {
        case 1:
            addStu()
        case 2:
            delStu()
        case 3:
            showStu()
        case 0:
            os.Exit(0)
        default:
            fmt.Println("无效的输入!")
        }
    }

}

 

posted on 2021-10-25 10:56  芦苇の  阅读(27)  评论(0编辑  收藏  举报