model:
package main
import (
"fmt"
"os"
)
//创建菜单
func menu() {
fmt.Println("欢迎进入学生信息管理系统")
fmt.Println("1:学生注册")
fmt.Println("2:信息修改")
fmt.Println("3:信息查询")
fmt.Println("4:退出系统")
}
//创建学生并初始化
type student struct {
name string
age int
sex string
class string
}
func newStu(name string,age int,sex string,class string) *student {
return &student{name,age,sex,class}
}
//创建管理系统并初始化
type msg struct {
data []*student
}
func newMsg() *msg {
return &msg{make([]*student,0,100)}
}
//获取用户行为
func getInput() *student{
var (name string
age int
sex string
class string)
fmt.Println("请输入学生name")
fmt.Scanf("%s",&name)
fmt.Println("请输入学生age")
fmt.Scanf("%d",&age)
fmt.Println("请输入学生sex")
fmt.Scanf("%s",&sex)
fmt.Println("请输入学生class")
fmt.Scanf("%s",&class)
stu := newStu(name, age, sex, class)
return stu
}
//功能实现module
//1:学生注册
func (m *msg) Add(stu *student) {
m.data = append(m.data,stu)
}
//2:信息修改
func (m *msg) modify(stu *student) {
for k, v := range m.data {
if stu.name == v.name {
m.data[k] = stu
}else {
fmt.Println("该学生不存在")
}
}
}
//3:信息查询
func (m *msg) show(){
for k, v := range m.data {
fmt.Println(k,v.name,v.age,v.sex,v.class)
}
}
//退出系统
func exit() {
os.Exit(0)
}
main:
package main
import "fmt"
//做一个学员信息管理系统
//需求1:添加学生
//需求2:编辑学生
//需求3:查询学生
func main() {
m := newMsg()
for true {
//展示菜单
menu()
//用户输入
fmt.Println("请输入要操作的选项")
var input int
fmt.Scan(&input)
switch input {
case 1:
s := getInput()
m.Add(s)
case 2:
s := getInput()
m.modify(s)
case 3:
m.show()
case 4:
exit()
}
}
}