⭐️写在前面
- 这里是温文艾尔的学习之路
- 👍如果对你有帮助,给博主一个免费的点赞以示鼓励把QAQ
- 👋博客主页🎉 温文艾尔的学习小屋
- ⭐️更多文章👨🎓请关注温文艾尔主页📝
- 🍅文章发布日期:2022.05.025
- 👋java学习之路!
- 欢迎各位🔎点赞👍评论收藏⭐️
- 🎄冲冲冲🎄
- ⭐️上一篇内容:【GO语言学习之路】GO语言中的变量
文章目录
实战目标,利用结构体等实现对学生的
- 增加
- 修改
- 查询
package main
import "fmt"
//学员信息管理系统
/**
1.学生有id、姓名、年龄、分数等信息
2.程序提供展示学生列表、添加学生、编辑学生信息、删除学生等功能
*/
type Student struct {
id int
name string
class string
}
func newStudent(id int, name string, class string) *Student {
return &Student{
id: id,
name: name,
class: class,
}
}
type studentMgr struct {
allStudents []*Student
}
func newStudentMgr() *studentMgr {
return &studentMgr{
allStudents: make([]*Student, 0, 100),
}
}
//添加学生
func (s *studentMgr) addStudent(stu *Student) {
s.allStudents = append(s.allStudents, stu)
}
//编辑学生
func (s *studentMgr) editStudent(stu *Student) {
for i, v := range s.allStudents {
if v.id == stu.id {
s.allStudents[i] = stu
return
}
}
//走到这里说明没有找到指定的学生
fmt.Printf("输入的学生信息有误,系统中没有学号是 %d 的学生\n", stu.id)
}
//删除学生
func (s *studentMgr) deleteStudent(stu *Student) {
for i, v := range s.allStudents {
if v.id == stu.id {
s.allStudents = append(s.allStudents[:i], s.allStudents[i+1:]...)
return
}
}
//走到这里说明没有找到指定的学生
fmt.Printf("输入的学生信息有误,系统中没有学号是 %d 的学生\n", stu.id)
}
//展示学生
func (s *studentMgr) showStudent() {
for _, v := range s.allStudents {
fmt.Printf("学号:%d 姓名: %s 班级: %s\n", v.id, v.name, v.class)
}
}
package main
import (
"fmt"
"os"
)
//获取用户输入的函数
func getInput() *Student {
var (
id int
name string
class string
)
fmt.Println("请按要求输入学员信息")
fmt.Print("请输入学员的学号:")
fmt.Scanf("%d\n", &id)
fmt.Print("请输入学员的姓名:")
fmt.Scanf("%s\n", &name)
fmt.Print("请输入学员的班级:")
fmt.Scanf("%s\n", &class)
return newStudent(id, name, class)
}
func main() {
sm := newStudentMgr()
for {
//1.打印系统菜单
showMenu()
//2.等待用户选择选项
var input int
fmt.Println("请输入你要操作的序号")
fmt.Scanf("%d\n", &input)
fmt.Println("用户输入的是", input)
//3.执行用户选择的动作
switch input {
case 1:
//添加学员
sm.addStudent(getInput())
fmt.Println("添加成功")
case 2:
//编辑学员信息
sm.editStudent(getInput())
fmt.Println("编辑成功")
case 3:
//展示所有学员信息
sm.showStudent()
case 4:
//删除学员信息
sm.deleteStudent(getInput())
fmt.Println("删除成功")
case 5:
//退出系统
os.Exit(0)
}
}
}
func showMenu() {
fmt.Println("欢迎来到学员信息管理系统")
fmt.Println("1.添加学员")
fmt.Println("2.编辑学员信息")
fmt.Println("3.展示所有学员信息")
fmt.Println("4.删除学员信息")
fmt.Println("5.退出系统")
}
测试
添加
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
1
用户输入的是 1
请按要求输入学员信息
请输入学员的学号:100
请输入学员的姓名:zs
请输入学员的班级:201913
添加成功
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
1
用户输入的是 1
请按要求输入学员信息
请输入学员的学号:101
请输入学员的姓名:ls
请输入学员的班级:201914
添加成功
删除
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
4
用户输入的是 4
请按要求输入学员信息
请输入学员的学号:100
请输入学员的姓名:zs
请输入学员的班级:201913
删除成功
修改
请输入你要操作的序号
3
用户输入的是 3
学号:101 姓名: ls 班级: 201914
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
2
用户输入的是 2
请按要求输入学员信息
请输入学员的学号:101
请输入学员的姓名:zs
请输入学员的班级:201913
编辑成功
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
3
用户输入的是 3
学号:101 姓名: zs 班级: 201913
查询
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
3
用户输入的是 3
学号:101 姓名: zs 班级: 201913