【Go进阶】终端版学生管理系统

在学习Go语言基础后,为了巩固语言基础,我将用Go语言开发一个简易的学生管理系统,以此来简单地整合一下自己近期所学的知识!

下面就开始我Go语言的第一个管理系统的编写吧~

需求分析

该简易版的学生管理系统主要是以管理员视角来执行程序中所编写的相关功能。当然我们学生管理系统最基本的功能当然离不开基本的增删查改功能啦~
下面是我对该系统简单理解

在这里插入图片描述

目录结构

在这里插入图片描述

演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据库表结构
create table student
(
    I_ID         bigint unsigned auto_increment comment '自增主键与业务无关'
    primary key,
    studentnum   varchar(256) default '' not null comment '',
    name         varchar(256) default '' not null comment '',
    javagrade    tinyint      default 0  not null comment '',
    gograde      tinyint      default 0  not null comment '',
    androidgrade tinyint      default 0  not null comment '',
    sum          varchar(256) default '' not null comment ''
)comment '授权信息openid表' charset = utf8;
源码:戳一戳
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个使用Go语言实现学生管理系统的示例代码,包括学生信息的增删改查和成绩排序功能: ```go package main import ( "bufio" "fmt" "os" "sort" "strconv" "strings" ) type Student struct { id int name string score int } var studentList []Student func main() { for { fmt.Println("请选择操作:") fmt.Println("1. 添加学生信息") fmt.Println("2. 删除学生信息") fmt.Println("3. 修改学生信息") fmt.Println("4. 查询学生信息") fmt.Println("5. 成绩排序") fmt.Println("6. 退出") var choice int fmt.Scanln(&choice) switch choice { case 1: addStudent() case 2: deleteStudent() case 3: modifyStudent() case 4: queryStudent() case 5: sortStudent() case 6: os.Exit(0) default: fmt.Println("无效的选择,请重新输入") } } } func addStudent() { fmt.Println("请输入学生信息,格式为:学号 姓名 成绩") scanner := bufio.NewScanner(os.Stdin) if scanner.Scan() { line := scanner.Text() fields := strings.Fields(line) if len(fields) != 3 { fmt.Println("输入格式错误,请重新输入") return } id, err := strconv.Atoi(fields[0]) if err != nil { fmt.Println("学号必须为数字,请重新输入") return } score, err := strconv.Atoi(fields[2]) if err != nil { fmt.Println("成绩必须为数字,请重新输入") return } student := Student{id, fields[1], score} studentList = append(studentList, student) fmt.Println("添加成功") } } func deleteStudent() { fmt.Println("请输入要删除的学生学号") var id int fmt.Scanln(&id) for i, student := range studentList { if student.id == id { studentList = append(studentList[:i], studentList[i+1:]...) fmt.Println("删除成功") return } } fmt.Println("未找到该学生") } func modifyStudent() { fmt.Println("请输入要修改的学生学号") var id int fmt.Scanln(&id) for i, student := range studentList { if student.id == id { fmt.Println("请输入修改后的学生信息,格式为:姓名 成绩") scanner := bufio.NewScanner(os.Stdin) if scanner.Scan() { line := scanner.Text() fields := strings.Fields(line) if len(fields) != 2 { fmt.Println("输入格式错误,请重新输入") return } score, err := strconv.Atoi(fields[1]) if err != nil { fmt.Println("成绩必须为数字,请重新输入") return } student.name = fields[0] student.score = score studentList[i] = student fmt.Println("修改成功") } return } } fmt.Println("未找到该学生") } func queryStudent() { fmt.Println("请输入要查询的学生学号") var id int fmt.Scanln(&id) for _, student := range studentList { if student.id == id { fmt.Printf("学号:%d,姓名:%s,成绩:%d\n", student.id, student.name, student.score) return } } fmt.Println("未找到该学生") } func sortStudent() { sort.Slice(studentList, func(i, j int) bool { return studentList[i].score > studentList[j].score }) fmt.Println("排序结果:") for _, student := range studentList { fmt.Printf("学号:%d,姓名:%s,成绩:%d\n", student.id, student.name, student.score) } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农印象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值