GO语言学生信息管理系统(超详细,带源码)

GO语言学生信息管理系统(超详细,带源码)


前言

简单实现go学生信息管理系统,无数据库部分,仅用Java基础指数实现简单的Java学生信息管理系统。
学生信息可自由添加,功能仅限于简单的增删改查。

该程序利用map映射,以学生的id学生结果作为map的k-v结构,使用该map存储修改删除信息,代替数据库的功能,并在使用之前在其中放入一条数据以方便查看

在选项方面,使用了switch和case的结构方便代码的管理


`

一、创建结构体

给学生设置四个属性,分别为Id,Name,Collage,Major,分别代表学生的学号,姓名,学院和专业,其中,学号不可重复,其余没有限制,几乎所有功能在使用之前都会查重id

type student struct {
	Id      string
	Name    string
	College string
	Major   string
}

二、增删改查的实现

1.增加学生信息

代码如下(示例):

	fmt.Println("------------1.添加信息-------------")
			fmt.Println("输入您要添加的学号")
			var id string
			fmt.Scan(&id)
			index := ""
			for i, _ := range list {
				if id == i {
					index = i
				}
			}
			if len(index) == 0 {
				fmt.Println("输入您要添加的姓名")
				var name string
				fmt.Scan(&name)
				fmt.Println("输入您要添加的学院")
				var collage string
				fmt.Scan(&collage)
				fmt.Println("输入您要添加的专业")
				var major string
				fmt.Scan(&major)
				student_new := student{Id: id, Name: name, College: collage, Major: major}
				list[student_new.Id] = student_new
				fmt.Println("添加成功")
			} else {
				fmt.Println("学号重复")
			}

2.删除学生信息

fmt.Println("------------2.删除信息-------------")
			fmt.Println("输入你要删除的学号")
			var id string
			fmt.Scan(&id)
			index := ""
			for i, _ := range list {
				if id == i {
					index = i
				}
			}
			if len(index) != 0 {
				delete(list, index)
				fmt.Println("删除成功")
			} else {
				fmt.Println("输入错误或学号不存在")
			}

3.修改学生信息

fmt.Println("------------3.修改信息-------------")
			fmt.Println("输入你要修改的学号")
			var id string
			fmt.Scan(&id)
			index := ""
			for i, _ := range list {
				if i == id {
					index = i
				}
			}
			if len(index) != 0 {
				fmt.Println("输入您要添加的姓名")
				var name string
				fmt.Scan(&name)
				fmt.Println("输入您要添加的学院")
				var collage string
				fmt.Scan(&collage)
				fmt.Println("输入您要添加的专业")
				var major string
				fmt.Scan(&major)
				delete(list, index)
				student_new := student{Id: id, Name: name, College: collage, Major: major}
				list[student_new.Id] = student_new
				fmt.Println("修改成功")

			}

4.查询学生信息

fmt.Println("------------4.查看信息-------------")
			fmt.Println("输入你要查看信息的学号")
			var id string
			fmt.Scan(&id)
			index := ""
			for i, _ := range list {
				if i == id {
					index = i
				}
			}
			if len(index) != 0 {
				fmt.Println(list[index].Id)
				fmt.Println(list[index].Name)
				fmt.Println(list[index].College)
				fmt.Println(list[index].Major)
			} else {
				fmt.Println("学号不存在或输入错误")
			}

5.退出系统

fmt.Println("------------5.退出系统-------------")
			break tmp

总结

代码功能总体而言相对完善,但是可拓展性强,本代码并没有采用数据库技术,同时本代码将所有选项在代码块中实现,并没有采用包结构

package main

import (
	"fmt"
)

type student struct {
	Id      string
	Name    string
	College string
	Major   string
}

func main() {
	student1 := student{Id: "120001", Name: "Job", College: "经济管理学院", Major: "会计"}
	list := make(map[string]student)
	list[student1.Id] = student1
	fmt.Println("------------欢迎进入学生管理系统-------------")
	fmt.Println("------------1.添加信息-------------")
	fmt.Println("------------2.删除信息-------------")
	fmt.Println("------------3.修改信息-------------")
	fmt.Println("------------4.查看信息-------------")
	fmt.Println("------------5.退出系统-------------")
	fmt.Println("-------------------------")
tmp:
	for {
		fmt.Println("------------请选择您要的功能-------------")
		var option int
		fmt.Scan(&option)

		switch option {
		case 1:
			fmt.Println("------------1.添加信息-------------")
			fmt.Println("输入您要添加的学号")
			var id string
			fmt.Scan(&id)
			index := ""
			for i, _ := range list {
				if id == i {
					index = i
				}
			}
			if len(index) == 0 {
				fmt.Println("输入您要添加的姓名")
				var name string
				fmt.Scan(&name)
				fmt.Println("输入您要添加的学院")
				var collage string
				fmt.Scan(&collage)
				fmt.Println("输入您要添加的专业")
				var major string
				fmt.Scan(&major)
				student_new := student{Id: id, Name: name, College: collage, Major: major}
				list[student_new.Id] = student_new
				fmt.Println("添加成功")
			} else {
				fmt.Println("学号重复")
			}
		case 2:
			fmt.Println("------------2.删除信息-------------")
			fmt.Println("输入你要删除的学号")
			var id string
			fmt.Scan(&id)
			index := ""
			for i, _ := range list {
				if id == i {
					index = i
				}
			}
			if len(index) != 0 {
				delete(list, index)
				fmt.Println("删除成功")
			} else {
				fmt.Println("输入错误或学号不存在")
			}
		case 3:
			fmt.Println("------------3.修改信息-------------")
			fmt.Println("输入你要修改的学号")
			var id string
			fmt.Scan(&id)
			index := ""
			for i, _ := range list {
				if i == id {
					index = i
				}
			}
			if len(index) != 0 {
				fmt.Println("输入您要添加的姓名")
				var name string
				fmt.Scan(&name)
				fmt.Println("输入您要添加的学院")
				var collage string
				fmt.Scan(&collage)
				fmt.Println("输入您要添加的专业")
				var major string
				fmt.Scan(&major)
				delete(list, index)
				student_new := student{Id: id, Name: name, College: collage, Major: major}
				list[student_new.Id] = student_new
				fmt.Println("修改成功")

			}
		case 4:
			fmt.Println("------------4.查看信息-------------")
			fmt.Println("输入你要查看信息的学号")
			var id string
			fmt.Scan(&id)
			index := ""
			for i, _ := range list {
				if i == id {
					index = i
				}
			}
			if len(index) != 0 {
				fmt.Println(list[index].Id)
				fmt.Println(list[index].Name)
				fmt.Println(list[index].College)
				fmt.Println(list[index].Major)
			} else {
				fmt.Println("学号不存在或输入错误")
			}
		case 5:
			fmt.Println("------------5.退出系统-------------")
			break tmp
		}
	}
}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值