在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
练习篇-Go语言版简单学生信息管理系统1 package main 2 3 import ( 4 "fmt" 5 "os" 6 ) 7 8 //怎么又是学生信息管理系统 9 //学生类 10 type Student struct { 11 StuId string 12 StuName string 13 StuGrade string 14 StuScore float32 15 } 16 //学生构造函数 17 func NewStudent(id string,name string,grade string,score float32) *Student { 18 newStu := new(Student) 19 newStu.StuId = id 20 newStu.StuName = name 21 newStu.StuGrade = grade 22 newStu.StuScore = score 23 return newStu 24 } 25 //定义学生的全局变量 26 var AllStu = make(map[string]Student,100) 27 28 func Menu() { 29 fmt.Println("------------------学生信息管理系统------------------") 30 fmt.Println("------------------1、添加学生----------------------") 31 fmt.Println("------------------2、修改学生信息-------------------") 32 fmt.Println("------------------3、查找学生----------------------") 33 fmt.Println("------------------4、学生信息展示-------------------") 34 fmt.Println("------------------0、退出系统----------------------") 35 fmt.Println("-------------------------------------------------") 36 } 37 38 func AddStu() { 39 var id string 40 var name string 41 var grade string 42 var score float32 43 fmt.Print("请输入id: ") 44 fmt.Scanf("%s\n",&id) 45 fmt.Print("请输入姓名: ") 46 fmt.Scanf("%s\n",&name) 47 fmt.Print("请输出年级: ") 48 fmt.Scanf("%s\n",&grade) 49 fmt.Print("请输入分数: ") 50 fmt.Scanf("%f\n",&score) 51 newStu := NewStudent(id,name,grade,score) 52 fmt.Println(newStu) 53 //所有学生加入学生对象 54 AllStu[newStu.StuId] = *newStu 55 fmt.Println("添加成功!") 56 } 57 func SearchStu(id string) bool { 58 value,ok := AllStu[id] 59 if ok { 60 fmt.Println("查找到了该学生!") 61 fmt.Printf("学号:%s 姓名:%s 年级:%s 分数:%.2f\n\n", 62 value.StuId,value.StuName,value.StuGrade,value.StuScore) 63 return ok 64 } else { 65 fmt.Println("没有该学生!") 66 return false 67 } 68 } 69 func ModifyStu() { 70 var id string 71 fmt.Print("请输出你要查找的学生的学号:") 72 fmt.Scanf("%s\n",&id) 73 res := SearchStu(id) 74 if res { 75 var id string 76 var name string 77 var grade string 78 var score float32 79 fmt.Print("请输入id: ") 80 fmt.Scanf("%s\n",&id) 81 fmt.Print("请输入姓名: ") 82 fmt.Scanf("%s\n",&name) 83 fmt.Print("请输出年级: ") 84 fmt.Scanf("%s\n",&grade) 85 fmt.Print("请输入分数: ") 86 fmt.Scanf("%f\n",&score) 87 newStu := NewStudent(id,name,grade,score) 88 AllStu[id] = *newStu 89 fmt.Println("修改成功!") 90 } 91 } 92 93 func ShowStu() { 94 for _, value := range AllStu { 95 fmt.Printf("学号:%s 姓名:%s 年级:%s 分数:%.2f\n\n", 96 value.StuId,value.StuName,value.StuGrade,value.StuScore) 97 } 98 } 99 func main() { 100 for { 101 Menu() 102 var opt int 103 var id string 104 fmt.Println("请输入你的操作") 105 fmt.Scanf("%d\n",&opt) 106 switch opt { 107 case 1: 108 AddStu() 109 case 2: 110 ModifyStu() 111 case 3: 112 fmt.Print("请输出你要查找的学生的学号:") 113 fmt.Scanf("%s\n",&id) 114 SearchStu(id) 115 case 4: 116 ShowStu() 117 case 0: 118 os.Exit(0) 119 default: 120 fmt.Println("输入错误!请重新输入") 121 122 } 123 } 124 125 }
|
请发表评论