package main
import (
"fmt"
"os"
)
/*
函数版学生管理系统
写一个系统能够查看、新增学生、删除学生
*/
type student struct {
//创建一个学生对象
name string
age int
id int64
}
// 用于存储学生信息
var studentall map[int64]student
func newStudent(name string, age int, id int64) *student {
//向对象中录入数据
return &student{
name: name,
age: age,
id: id,
}
}
func showStudentAll() {
//使用range轮询查询学生信息
for k, v := range studentall {
fmt.Printf("学号:%v 名字:%v\n", k, v.name)
}
}
func addStudent() {
var (
name string
id int64
age int
)
fmt.Print("请输入学生的学号:")
fmt.Scanln(&id)
fmt.Print("请输入学生的姓名:")
fmt.Scanln(&name)
fmt.Print("请输入学生的年龄:")
fmt.Scanln(&age)
newStu := newStudent(name, age, id)
studentall[id] = *newStu
}
func deleteStudent() {
var (
deleteId int64
)
fmt.Print("请输入要删除学生的学号:")
fmt.Scanln(&deleteId)
_, ok := studentall[deleteId]
if !ok {
fmt.Println("此学号不存在请重新输入!")
} else {
delete(studentall, deleteId)
fmt.Println("删除成功")
}
}
func main() {
//初始化数组,用来存储学生信息
studentall = make(map[int64]student, 48)
for {
var Num int
fmt.Println("\n欢迎来到学生管理系统!")
fmt.Println(`请输入如下数值来执行对应的操作:
1. 查询所有学生
2. 录入学生信息
3. 删除学生信息
4. 退出
`)
fmt.Print(":")
fmt.Scanln(&Num)
switch Num {
case 1:
showStudentAll()
case 2:
addStudent()
case 3:
deleteStudent()
default:
os.Exit(1) //退出并返回程序执行的结果
}
}
}
标签:函数,管理系统,studentall,fmt,学生,age,id,name
From: https://www.cnblogs.com/suknna/p/17103298.html