学生管理系统cmd交互
package main
import (
"app/student"
"fmt"
)
//创建切片 存放学生列表
var studentList = make([]Student.Student, 0, 10)
//fmt.Printf("%v\n %T",studentList,studentList)
func main() {
var flag bool = true
for ;flag;{
//--------------------菜单功能
fmt.Println("-----------------------")
fmt.Println("欢迎使用golang学生管理系统")
fmt.Println("1.添加学生")
fmt.Println("2.查看学生")
fmt.Println("3.修改学生")
fmt.Println("4.删除学生")
fmt.Println("5.退出")
fmt.Println("-----------------------")
//获取输入的值
var selectValue int
fmt.Scanln(&selectValue)
//fmt.Printf("%v", selectValue)
//操作执行
switch int(selectValue) {
case 1:
fmt.Println("添加学生")
addStudent()
case 2:
fmt.Println("查看学生")
lookStudent()
case 3:
fmt.Println("修改学生")
updateStudent()
case 4:
fmt.Println("删除学生")
deleteStudent()
case 5:
fmt.Println("退出")
flag=false
default:
fmt.Println("输入有误")
}
}
}
//-------------添加学生
func addStudent() {
//创建结构体的实例
student := Student.Student{
}
fmt.Println("请输入姓名 年龄 学号 性别 专业")
fmt.Scanln(&student.S_name, &student.S_age, &student.S_id, &student.S_sex, &student.S_speciality)
fmt.Println(student.S_name, student.S_age, student.S_id, student.S_sex, student.S_speciality)
studentList = append(studentList, student)
fmt.Println("添加完成")
fmt.Println(studentList)
}
//-------------查看学生
func lookStudent() {
for _,student := range studentList {
fmt.Println(student.S_name, student.S_age, student.S_id, student.S_sex, student.S_speciality)
}
}
//-----------修改学生
func updateStudent() {
fmt.Println("请输入要修改的学生id")
var id string
fmt.Scanln(&id)
//选择学生
for i, student1 := range studentList {
if student1.S_id == id {
fmt.Println("请输入新的信息 姓名 年龄 学号 性别 专业")
student := Student.Student{
}
fmt.Scanln(&student.S_name, &student.S_age, &student.S_id, &student.S_sex, &student.S_speciality)
fmt.Println(student.S_name, student.S_age, student.S_id, student.S_sex, student.S_speciality)
studentList[i] = student
fmt.Println("修改成功")
return
}
}
fmt.Println("没找到学生")
}
//------删除学生
func deleteStudent() {
var id string
fmt.Print("请输入要删除的学生ID: ")
fmt.Scanln(&id)
for i, student := range studentList {
if student.S_id == id {
studentList = append(studentList[:i], studentList[i+1:]...)
fmt.Println("学生删除成功!")
return
}
}
fmt.Println("找不到该学生!")
}
使用Go语言编写一个学生管理系统:
package main
import (
"fmt"
"os"
"os/exec"
)
type Student struct {
ID int
Name string
Age int
}
var students []Student
func main() {
for {
showMenu()
var choice int
fmt.Print("请输入选项: ")
fmt.Scanln(&choice)
switch choice {
case 1:
addStudent()
case 2:
deleteStudent()
case 3:
showAllStudents()
case 4:
*****Screen()
case 5:
os.Exit(0)
default:
fmt.Println("无效的选项,请重新输入!")
}
}
}
func showMenu() {
fmt.Println("学生管理系统")
fmt.Println("--------------------")
fmt.Println("1. 添加学生")
fmt.Println("2. 删除学生")
fmt.Println("3. 显示所有学生")
fmt.Println("4. 清屏")
fmt.Println("5. 退出")
fmt.Println("--------------------")
}
func addStudent() {
var id, age int
var name string
fmt.Print("请输入学生ID: ")
fmt.Scanln(&id)
fmt.Print("请输入学生姓名: ")
fmt.Scanln(&name)
fmt.Print("请输入学生年龄: ")
fmt.Scanln(&age)
student := Student{
ID: id,
Name: name,
Age: age,
}
students = append(students, student)
fmt.Println("学生添加成功!")
}
func deleteStudent() {
var id int
fmt.Print("请输入要删除的学生ID: ")
fmt.Scanln(&id)
for i, student := range students {
if student.ID == id {
students = append(students[:i], students[i+1:]...)
fmt.Println("学生删除成功!")
return
}
}
fmt.Println("找不到该学生!")
}
func showAllStudents() {
fmt.Println("所有学生信息:")
for _, student := range students {
fmt.Printf("ID: %d, 姓名: %s, 年龄: %d\n", student.ID, student.Name, student.Age)
}
}
func *****Screen() {
cmd := exec.Command("*****") // for Linux/OS X
if os.Name == "windows" {
cmd = exec.Command("cmd", "/c", "cls") // for Windows
}
cmd.Stdout = os.Stdout
cmd.Run()
}
这个学生管理系统使用了一个Student
结构体来表示学生的信息,使用切片students
来存储所有学生的数据。主函数中使用一个无限循环来显示菜单,并根据用户的选择执行相应的操作。你可以根据自己的需求对代码进行修改和扩展。