zoukankan      html  css  js  c++  java
  • 学员信息管理系统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
    ",&id)
    	fmt.Print("请输入学员的姓名:")
    	fmt.Scanf("%s
    ",&name)
    	fmt.Print("请输入学员的班级:")
    	fmt.Scanf("%s
    ",&class)
    	stu := newStudent(id,name,class)
    	return stu
    }
    func main() {
    	sm := newStudentMgr()
    	for {
    		//1.打印系统菜单
    		showMenu()
    		//2.等待用户选择要执行的选项
    		var input int
    		fmt.Scanf("%d
    ", &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的学生
    ",newStu.id)
    }
    
    //3.展示学生
    func (s *studentMgr) showStudent() {
    	for _,v:= range s.allStudents{
    		fmt.Printf("学号:%d 姓名:%s 班级:%s
    ",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.退出系统
  • 相关阅读:
    排列数组所有情况
    查到的结果的某个字段在一串字符串之中
    element组件化跳转和路由式跳转
    vue路由and组件操作
    事件 绑定,取消冒泡,拖拽 ,点击,事件委托习题
    窗口属性 和DOM 元素尺寸位置 及习题加强
    DOM树的增删改查 和 Date定时任务
    JS DOM 初做了解,习题笔记
    struts配置及检验
    第一个JSP登录跳转
  • 原文地址:https://www.cnblogs.com/twoheads/p/12693541.html
Copyright © 2011-2022 走看看