Cover photo

Golang 学生管理系统

package main

import (
    "fmt"
    "os"
)

//通过函数实现学生管理系统:增删改查

type student struct {
    id   int
    name string
}

var (
    allstudnet map[int]student = make(map[int]student)
)

func selectstu() {
    for k, v := range allstudnet {
        fmt.Printf("Studnet ID:%d\t Studnet Name: %s\n", k, v.name)
    }
}

func addstu() {
    var (
        stuID   int
        stuName string
    )
    fmt.Print("Pls input student ID: ")
    fmt.Scanln(&stuID)
    fmt.Print("Pls input student Name: ")
    fmt.Scanln(&stuName)
    allstudnet[stuID] = student{id: stuID, name: stuName}
}

func deletestu() {
    var stuID int
    fmt.Print("Pls input student ID: ")
    fmt.Scanln(&stuID)
    delete(allstudnet, stuID)
}

func updatestu() {
    var (
        stuID   int
        stuName string
    )
    fmt.Print("Pls input student ID: ")
    fmt.Scanln(&stuID)
    fmt.Print("Pls input student Name: ")
    fmt.Scanln(&stuName)
    allstudnet[stuID] = student{id: stuID, name: stuName}
}

func main() {
    for {
        fmt.Println(`
    Welcome to Studnet Management System.
    1. Select studnet info
    2. Add a new studnet
    3. Delete a studnet
    4. Update a studnet info
    5. Exit
    `)

        fmt.Print("Pls input what operations you wanna do: ")
        var choice int
        fmt.Scanln(&choice)
        switch choice {
        case 1:
            selectstu()
        case 2:
            addstu()
        case 3:
            deletestu()
        case 4:
            updatestu()
        case 5:
            os.Exit(1)
        default:
            fmt.Println("Pls input correct options!")
        }

    }
}
package main

import (
    "fmt"
    "os"
)

// 学生管理系统  类实现

type student struct {
    id   int
    name string
}

type studnetManager struct {
    allstudnet map[int]student
}

func (s studnetManager) selectstu() {
    for k, v := range s.allstudnet {
        fmt.Printf("Studnet ID:%d\t Studnet Name: %s\n", k, v.name)
    }
}

func (s studnetManager) addsu() {
    var (
        stuID   int
        stuName string
    )
    fmt.Print("Pls input student ID: ")
    fmt.Scanln(&stuID)
    fmt.Print("Pls input student Name: ")
    fmt.Scanln(&stuName)
    s.allstudnet[stuID] = student{id: stuID, name: stuName}
}

func (s studnetManager) deletestu() {
    var stuID int
    fmt.Print("Pls input student ID: ")
    fmt.Scanln(&stuID)
    delete(s.allstudnet, stuID)
}

func (s studnetManager) updatestu() {
    var (
        stuID   int
        stuName string
    )
    fmt.Print("Pls input student ID: ")
    fmt.Scanln(&stuID)
    fmt.Print("Pls input student Name: ")
    fmt.Scanln(&stuName)
    s.allstudnet[stuID] = student{id: stuID, name: stuName}
}

func main() {
    smr := studnetManager{allstudnet: make(map[int]student, 100)}
    for {
        fmt.Println(`
    Welcome to Studnet Management System.
    1. Select studnet info
    2. Add a new studnet
    3. Delete a studnet
    4. Update a studnet info
    5. Exit
    `)

        fmt.Print("Pls input what operations you wanna do: ")
        var choice int
        fmt.Scanln(&choice)
        switch choice {
        case 1:
            smr.selectstu()
        case 2:
            smr.addsu()
        case 3:
            smr.deletestu()
        case 4:
            smr.updatestu()
        case 5:
            os.Exit(1)
        default:
            fmt.Println("Pls input correct options!")
        }

    }
}