学生管理系统2.0
main.go
package main
import (
"fmt"
"os"
)
var smr studentmanger //声明一个全局的变量学生管理对象:smr
/*
title:学生管理系统2.0 方法版本
author:zjhzjhhh
time:2021.05.22
*/
/*
学生管理系统
1. 打印出菜单输入序号选择要实现的功能
2. 根据要实现的功能列出功能函数,放在了另一个文件里
3. 对于管理系统,我们需要一个管理者才可以操作系统,需要先定义个全局变量
4.
*/
func showMenu() {
fmt.Println(`
1. 查看所有学生
2. 添加学生
3. 修改学生
4. 删除学生
5. 退出
`)
fmt.Println("***************")
}
func main() {
fmt.Println("学生管理系统!!")
var choice int
smr = studentmanger{
allstudent: make(map[uint64]student, 100),
}
for {
showMenu()
fmt.Print("请输入学号:")
fmt.Scanln(&choice)
fmt.Println("你输入的是:", choice)
switch choice {
case 1:
smr.ShowAllstudent()
case 2:
smr.AddStudent()
case 3:
smr.AlterStudent()
case 4:
smr.DeleteStudent()
case 5:
os.Exit(1)
default:
fmt.Println("请输入序号:")
}
}
}
studentmanger.go
package main
import "fmt"
//造学生
type student struct {
id uint64
name string
}
//造学生的管理者
type studentmanger struct {
allstudent map[uint64]student
}
//在studentmanger这个结构体下面有四个功能1,2,3,4
/*
1. 查看所有学生
2. 添加学生
3. 修改学生
4. 删除学生
5. 退出
这四个功能,这四个功能分别都共同有一个接收者studentmanger
*/
//1. 查看所有学生
func (s studentmanger) ShowAllstudent() {
for _, stu := range s.allstudent { //stu是具体每一个学生
fmt.Printf("学号:%d 姓名:%s", stu.id, stu.name)
}
}
//2. 添加学生
func (s studentmanger) AddStudent() {
//1.根据用户输入的内容创建一个新的学生
var (
stuID uint64
stuName string
)
//2.1 首先要获取用户输入
fmt.Print("请输入学号:")
fmt.Scanln(&stuID)
fmt.Print("请输入姓名:")
fmt.Scanln(&stuName)
//2.2 把新学生放到s.allstudent这个map中
newStu := student{
id: stuID,
name: stuName,
}
s.allstudent[newStu.id] = newStu
}
//3. 修改学生
func (s studentmanger) AlterStudent() {
//获得用户输入的学号
var stuID uint64
fmt.Print("请输入学号:")
fmt.Scanln(&stuID)
//展示该学号对应的学生信息,如果没有则提示查无此人
//请输入修改后的学生名
//更新学生的姓名
}
//4. 删除学生
func (s studentmanger) DeleteStudent() {
}