package main
import (
"fmt"
"os"
)
type student struct {
name string
age int
id int64
}
var studentall map[int64]student
func newStudent(name string, age int, id int64) *student {
return &student{
name: name,
age: age,
id: id,
}
}
func showStudentAll() {
for k, v := range studentall {
fmt.Printf("学号:%v 名字:%v\n", k, v.name)
}
}
func addStudent() {
var (
name string
id int64
age int
)
fmt.Print("请输入学生的学号:")
fmt.Scanln(&id)
fmt.Print("请输入学生的姓名:")
fmt.Scanln(&name)
fmt.Print("请输入学生的年龄:")
fmt.Scanln(&age)
newStu := newStudent(name, age, id)
studentall[id] = *newStu
}
func deleteStudent() {
var (
deleteId int64
)
fmt.Print("请输入要删除学生的学号:")
fmt.Scanln(&deleteId)
_, ok := studentall[deleteId]
if !ok {
fmt.Println("此学号不存在请重新输入!")
} else {
delete(studentall, deleteId)
fmt.Println("删除成功")
}
}
func main() {
studentall = make(map[int64]student, 48)
for {
var Num int
fmt.Println("\n欢迎来到学生管理系统!")
fmt.Println(`请输入如下数值来执行对应的操作:
1. 查询所有学生
2. 录入学生信息
3. 删除学生信息
4. 退出
`)
fmt.Print(":")
fmt.Scanln(&Num)
switch Num {
case 1:
showStudentAll()
case 2:
addStudent()
case 3:
deleteStudent()
default:
os.Exit(1)
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通