学员信息管理系统demo

main.go:

package main

import (
	"fmt"
	"os"
)

//学员信息管理系统
//1.添加学员信息
//2.编辑学员信息
//3.展示所有学员信息

func showMenu() {
	fmt.Println("欢迎来到学员信息管理系统")
	fmt.Println("1.添加学员")
	fmt.Println("2.编辑学员信息")
	fmt.Println("3.展示所有学员信息")
	fmt.Println("4.退出系统")
}

// 获取用户输入的学员信息
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)
	stu := newStudent(id,name,class)
	return stu
}
func main() {
	sm := newStudentMgr()
	for {
		//1.打印系统菜单
		showMenu()
		//2.等待用户选择要执行的选项
		var input int
		fmt.Scanf("%d\n", &input) //想要改变input变量的值必须传一个指针进来
		fmt.Println("用户输入的是:", input)
		//3.执行用户选择的动作
		switch input {
		case 1:
			//添加学员
			stu := getInput()
			sm.addStudent(stu)
		case 2:
		//编辑学员
			stu := getInput()
			sm.modifyStudent(stu)
		case 3:
		//展示所有学员

		sm.showStudent()
		case 4:
			//退出
			os.Exit(0)

		}
	}

}

  

student.go:

package main

import "fmt"

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)}
}

//1.添加学生 使用值类型的接收者s studentMgr时,添加学生失败,需要修改接收者中的值记得用指针接收者
func (s *studentMgr) addStudent(newStu *student) {
	s.allStudents = append(s.allStudents,newStu)
}
//2.编辑学生
func (s *studentMgr) modifyStudent(newStu *student) {
	for i,v := range s.allStudents{
		if v.id == newStu.id { //要修改的学生
			s.allStudents[i] = newStu
			return
		}
	}
	fmt.Printf("输入的学生信息有误,系统中没有学号是:%d的学生\n",newStu.id)
}

//3.展示学生
func (s *studentMgr) showStudent() {
	for _,v:= range s.allStudents{
		fmt.Printf("学号:%d 姓名:%s 班级:%s\n",v.id,v.name,v.class)
	}
}

  

欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.退出系统
1
用户输入的是: 1
请按照要求输入学员信息
请输入学员的学号:001
请输入学员的姓名:han
请输入学员的班级:01
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.退出系统
3
用户输入的是: 3
学号:1 姓名:han 班级:01
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.退出系统

 

posted @ 2020-04-13 19:56  twoheads  阅读(326)  评论(0编辑  收藏  举报