函数版学生管理系统

package main

import (
	"fmt"
	"os"
)

var (
	allSt map[int64]*student
)

type student struct {
	id   int64
	name string
}

func newStudent(id int64, name string) *student {
	return &student{
		id:   id,
		name: name,
	}
}

func All() {
	for k, v := range allSt {
		fmt.Printf("学号 %d 姓名 %s", k, v.name)
	}
}

func add() {
	fmt.Println("输入学号")
	var (
		userid   int64
		username string
	)

	fmt.Print("输入id")
	fmt.Scanln(&userid)
	fmt.Print("输入name")
	fmt.Scanln(&username)
	newStu := newStudent(userid, username)
	allSt[userid] = newStu
}
func del() {
	fmt.Print("输入要删除的学生学号")
	var xuehao int64
	fmt.Scanln(&xuehao)
	delete(allSt, xuehao)
}
func main() {

	allSt = make(map[int64]*student, 50)
	fmt.Println("欢迎来到学生管理系统")
	for true {
		fmt.Println("【1】查看 【2】新增 【3】删除 【5】退出")
		fmt.Print("请输入你的操作")
		var aa int
		fmt.Scanln(&aa)
		switch aa {
		case 1:
			All()
		case 2:
			add()
		case 3:
			del()
			fmt.Println("删除")
		case 5:
			fmt.Println("退出成功")
			os.Exit(1)
		default:
			fmt.Println("重新输入")
		}
	}
}

  

posted @ 2023-03-19 10:10  小白学程  阅读(36)  评论(0)    收藏  举报