美文网首页
2021-12-03 简单实现学生管理系统

2021-12-03 简单实现学生管理系统

作者: DunCan躺尸剑法 | 来源:发表于2021-12-03 15:16 被阅读0次

    1.入口文件 main.go

    package main

    import "fmt"

    //学生管理系统实现:查看,添加,删除,修改学生

    var m = manage{

    students:map[int]student{},

    }

    //查看所有学生信息

    func getAll() {

    students := m.listStudent()

    if len(students)> 0 {

    for _,s := range students {

    fmt.Println("学号:",s.id,"姓名:",s.name,"年龄:",s.age,"班级:",s.class)

    }

    }else {

    fmt.Println("暂无学生信息!")

    }

    }

    //查看指定学生信息

    func getOne() {

    fmt.Println("请输入学生的ID:")

    var id int

      fmt.Scanln(&id)

    exist := m.isExist(id)

    if exist {

    s := m.getStudent(id)

    fmt.Println("学号:",s.id,"姓名:",s.name,"年龄:",s.age,"班级:",s.class)

    }else {

    fmt.Println("学生不存在!")

    }

    }

    //添加学生信息

    func add() {

    var (

    id    int

          name  string

          age  int

          class string

      )

    fmt.Println("请输入学生的ID:")

    fmt.Scanln(&id)

    res := m.isExist(id)

    if res {

    fmt.Println("该学生已存在不能重复添加!")

    return

      }

    fmt.Println("请输入学生姓名:")

    fmt.Scanln(&name)

    fmt.Println("请输入学生年龄:")

    fmt.Scanln(&age)

    fmt.Println("请输入学生班级")

    fmt.Scanln(&class)

    s := student{

    id:id,

    name:name,

    age:age,

    class:class,

    }

    m.addStudent(s)

    fmt.Println("添加成功!")

    }

    //修改学生信息

    func update() {

    var id int

      fmt.Println("请输入学生ID:")

    fmt.Scanln(&id)

    res := m.isExist(id)

    if !res {

    fmt.Println("学生信息不存在!")

    return

      }else{

    s := m.getStudent(id)

    fmt.Println("修改前学生信息是=>学号:",s.id,"姓名:",s.name,"年龄",s.age,"班级",s.class)

    fmt.Println("请输入修改后学生姓名:")

    fmt.Scanln(&s.name)

    fmt.Println("请输入修改后学生年龄:")

    fmt.Scanln(&s.age)

    fmt.Println("请输入修改后学生班级:")

    fmt.Scanln(&s.class)

    m.updateStudent(s)

    fmt.Println("修改成功!")

    }

    }

    //删除学生信息

    func del() {

    var id int

      fmt.Println("请输入要删除学生的ID:")

    fmt.Scanln(&id)

    res := m.deleteStudent(id)

    if res {

    fmt.Println("删除成功!")

    }else {

    fmt.Println("学生信息不存在!")

    }

    }

    func main() {

    for {

    fmt.Println("==========欢迎来到学生管理系统==========")

    fmt.Println("1.查看所有学生信息")

    fmt.Println("2.查看某个学生信息")

    fmt.Println("3.添加学生信息")

    fmt.Println("4.修改学生信息")

    fmt.Println("5.删除学生信息")

    fmt.Println("6.退出")

    fmt.Println("=====================================")

    fmt.Println("请输入你要进行的操作:")

    var option int

          fmt.Scanln(&option)//获取输入值

          switch option {

    case 1:

    getAll()

    case 2:

    getOne()

    case 3:

    add()

    case 4:

    update()

    case 5:

    del()

    case 6:

    return

          default:

    fmt.Println("请输入合法操作!")

    }

    }

    }


    2.定义学生 student.go

    package main

    //定义学生结构体

    type student struct {

    id    int

      name  string

      age  int

      class string

    }


    3.定义学生管理 manage.go

    package main

    //定义管理者结构体,其中管理者中存储所有学生信息

    type manage struct {

    //所有学生信息

      students map[int]student

    }

    //判断学生是否存在

    func (this manage)isExist(id int)bool {

    _,exist := this.students[id]

    return exist

    }

    //添加学生

    func (this manage)addStudent(s student) {

    this.students[s.id]= s

    }

    //删除学生

    func (this manage)deleteStudent(id int)bool {

    exist := this.isExist(id)

    if !exist {//不存在该学生

          return false

      }

    delete(this.students,id)

    //if _, ok := this.students[id]; ok {

    // delete(this.students, id)

      //} else { //不存在该学生

      // return false

    //}

      return true

    }

    //查询单个学生信息

    func (this manage)getStudent(id int)student {

    return this.students[id]

    }

    //查询所有学生信息

    func (this manage)listStudent()map[int]student {

    return this.students

    }

    //修改学生信息

    func (this manage)updateStudent(s student) {

    this.students[s.id]= s

    }

    相关文章

      网友评论

          本文标题:2021-12-03 简单实现学生管理系统

          本文链接:https://www.haomeiwen.com/subject/wwzpxrtx.html