美文网首页
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