用go语言代码写学生管理信息系统 功能: 1、有学生管理系统主界面 2、主界面要有增、删、改,查的选项 3、可以向系统新建学生信息,信息越全越好(姓名,性别,年龄,年级,专业,住址。 4、针对学生信息可以完成基本维护工作,且保证数据一致性。 5、系统要有退出选项,不能无限制增加。
时间: 2024-03-03 21:49:53 浏览: 56
好的,以下是一个简单的学生管理信息系统的示例代码,实现了上述所说的功能:
```go
package main
import (
"fmt"
"os"
)
// 定义学生信息结构体
type Student struct {
Name string
Gender string
Age int
Grade int
Major string
Address string
}
// 定义学生信息切片
var students []Student
// 添加学生信息
func addStudent() {
var name, gender, major, address string
var age, grade int
fmt.Println("请输入学生姓名:")
fmt.Scanln(&name)
fmt.Println("请输入学生性别:")
fmt.Scanln(&gender)
fmt.Println("请输入学生年龄:")
fmt.Scanln(&age)
fmt.Println("请输入学生年级:")
fmt.Scanln(&grade)
fmt.Println("请输入学生专业:")
fmt.Scanln(&major)
fmt.Println("请输入学生地址:")
fmt.Scanln(&address)
student := Student{
Name: name,
Gender: gender,
Age: age,
Grade: grade,
Major: major,
Address: address,
}
students = append(students, student)
fmt.Println("添加学生信息成功!")
}
// 删除学生信息
func deleteStudent() {
var name string
fmt.Println("请输入要删除的学生姓名:")
fmt.Scanln(&name)
for i, student := range students {
if student.Name == name {
students = append(students[:i], students[i+1:]...)
fmt.Println("删除学生信息成功!")
return
}
}
fmt.Println("未找到该学生信息!")
}
// 修改学生信息
func updateStudent() {
var name string
fmt.Println("请输入要修改的学生姓名:")
fmt.Scanln(&name)
for i, student := range students {
if student.Name == name {
var newName, newGender, newMajor, newAddress string
var newAge, newGrade int
fmt.Println("请输入修改后的学生姓名(不修改请直接回车):")
fmt.Scanln(&newName)
fmt.Println("请输入修改后的学生性别(不修改请直接回车):")
fmt.Scanln(&newGender)
fmt.Println("请输入修改后的学生年龄(不修改请直接回车):")
fmt.Scanln(&newAge)
fmt.Println("请输入修改后的学生年级(不修改请直接回车):")
fmt.Scanln(&newGrade)
fmt.Println("请输入修改后的学生专业(不修改请直接回车):")
fmt.Scanln(&newMajor)
fmt.Println("请输入修改后的学生地址(不修改请直接回车):")
fmt.Scanln(&newAddress)
if len(newName) > 0 {
student.Name = newName
}
if len(newGender) > 0 {
student.Gender = newGender
}
if newAge > 0 {
student.Age = newAge
}
if newGrade > 0 {
student.Grade = newGrade
}
if len(newMajor) > 0 {
student.Major = newMajor
}
if len(newAddress) > 0 {
student.Address = newAddress
}
students[i] = student
fmt.Println("修改学生信息成功!")
return
}
}
fmt.Println("未找到该学生信息!")
}
// 查询学生信息
func queryStudent() {
var name string
fmt.Println("请输入要查询的学生姓名:")
fmt.Scanln(&name)
for _, student := range students {
if student.Name == name {
fmt.Printf("姓名:%s,性别:%s,年龄:%d,年级:%d,专业:%s,住址:%s\n", student.Name, student.Gender, student.Age, student.Grade, student.Major, student.Address)
return
}
}
fmt.Println("未找到该学生信息!")
}
// 显示学生信息
func showStudents() {
for _, student := range students {
fmt.Printf("姓名:%s,性别:%s,年龄:%d,年级:%d,专业:%s,住址:%s\n", student.Name, student.Gender, student.Age, student.Grade, student.Major, student.Address)
}
}
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:
updateStudent()
case 4:
queryStudent()
case 5:
showStudents()
case 6:
fmt.Println("退出系统,谢谢使用!")
os.Exit(0)
default:
fmt.Println("输入有误,请重新输入!")
}
}
}
```
注意:该示例代码实现的是一个简单的学生管理信息系统,没有对数据进行持久化存储。如果需要进行持久化存储,可以考虑使用数据库或者文件存储等方式。
阅读全文