学生管理系统1.0

学生管理系统1.0

package main

import (
	"fmt"
	"os"
)

/*
title:学生管理系统1.0
author: zjhzjhhh
time:2021.05.08
function:查看、新增、删除学生
*/
type student struct {
	name string
	id   int
}

var allStudents map[int]*student //因为要存所有学生,所以要声明一个map集合,采用指针方式(数据量比较大的时候指针最好)

func ShowAllstudent() {
	//展示所有的学生,学号+姓名的方式展示,我们可以遍历map集合
	for k, v := range allStudents {
		fmt.Println("学号:&d 姓名:%s\n", k, v)

	}

}

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

}

func AddStudent() {
	//第一步 需要获取学生的学号姓名 所以我们需要设置个临时变量
	var (
		id   int
		name string
	)
	//第二步 需要从公屏上输入学号姓名存到map中
	fmt.Print("请输入学号:")
	fmt.Scanln(&id)
	fmt.Print("请输入姓名:")
	fmt.Scanln(&name)

	//有了学号姓名后,现在或者学生只是有个代号还没有实体,所以我们需要创造一个相应学号姓名的学生,采用构造函数的方法new一个
	//调用构造函数
	newstu := newStudent(id, name)
	//把造好的学生追加到allstudents的map集合中
	allStudents[id] = newstu
	//allStudents[name] = newstu
}
func DeleteStudent() {
	//1.输入用户要删除的学生序号

	var (
		deleteId int
	)
	fmt.Print("请输入学号:")
	fmt.Scanln(&deleteId)

	delete(allStudents, deleteId)

}

func main() {

	allStudents = make(map[int]*student) //声明了allstudents,接下来要做的就是初始化他

	for {
		fmt.Println("欢迎来到xx学生管理系统!")
		fmt.Println("**************************")
		fmt.Println("请选择要实现的功能")
		fmt.Println()
		fmt.Println("1.查看所有学生信息")
		fmt.Println()
		fmt.Println("2.增加新的学生信息")
		fmt.Println()
		fmt.Println("3.删除某个学生信息")
		fmt.Println()
		fmt.Println("4.退出!")
		fmt.Println("**************************")
		var choice int
		fmt.Println("请输入序号:")
		fmt.Scanln(&choice)
		fmt.Printf("你输出的选项是:%d\n", choice)

		switch choice {
		case 1:
			ShowAllstudent()
		case 2:
			AddStudent()
		case 3:
			DeleteStudent()
		case 4:
			os.Exit(1)
		default:
			fmt.Println("请输出1,2,3或4")

		}

	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值