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

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

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容