学生管理系统--golang--简单版本---开发框架
实现学生增 修改,显示:开发截图:
主要作为一
个项目的开发框架来使用
main.go
package mainimport ("fmt""os"
)/*
1.学生信息管理
2.添加学生
3.修改学生
4.显示学生*///获取用户输入的学生信息func getInput() *Student {var (id intname stringclass string)fmt.Println("请按要求输入学生信息:")fmt.Print("请按要求输入学生学号:")fmt.Scanf("%d\n", &id)fmt.Print("请按要求输入学生姓名:")fmt.Scanf("%s\n", &name)fmt.Print("请按要求输入学生班级:")fmt.Scanf("%s\n", &class)//获取输入的所有信息stu := NewStudent(id, name, class) //调用student的构造一个学生信息return stu}func showMenu() {//菜单选项//fmt.Println()fmt.Println("1.添加学生")fmt.Println("2.修改学生")fmt.Println("3.显示学生")fmt.Println("4.退出系统")
}
func main() {sm := NewStudentMgr() //初始化学生的管理,调用后面的方法for {showMenu() //1.调用系统菜单var choice int //2.等待用户选择要执行的选项fmt.Print("请输入选项:")//fmt.Scanln(&choice)fmt.Scanf("%d\n", &choice)//3.选择输入的数字编号,执行用户选择的动作switch choice {case 1:stu := getInput()sm.addStudent(stu) //添加学生case 2:stu := getInput()sm.editStudent(stu) //编辑学生case 3:sm.showStudent() //显示所有学生case 4:os.Exit(0)default:fmt.Println("你输入的序号错误,请重新输入!")}//fmt.Printf("你的选择是%v\n", choice)}}func add() {fmt.Println("学生添加中...")}func upstu() {fmt.Println("学生修改中...")}
func showstu() {fmt.Println("显示所有学生中...")}
student.go
package mainimport "fmt"//创建一个学生模板
type Student struct {Id intName stringClass string
}//NewStudent 是Student类型的构造函数
func NewStudent(id int, name string, class string) *Student {return &Student{Id: id,Name: name,Class: class,}}//学员管理的类型
type StudentMgr struct {AllStudentlist []*Student
}//NewStudentMgr是StudentMgr的构造函数
func NewStudentMgr() *StudentMgr {return &StudentMgr{AllStudentlist: make([]*Student, 0, 100),}
}//1.添加学生
func (s *StudentMgr) addStudent(newStu *Student) {s.AllStudentlist = append(s.AllStudentlist, newStu)
}//2.修改学生
func (s *StudentMgr) editStudent(newStu *Student) {for i, v := range s.AllStudentlist {if newStu.Id == v.Id { //当学号相同是,就表示找到了要修改的学生s.AllStudentlist[i] = newStu //根据切片的索引值直接把新学生复制进来return}}//到这里说明输入的学生没有找到fmt.Printf("输入的学生信息有误,系统中没有学号:%d的学生\n", newStu.Id)
}//3.显示所有学生
func (s *StudentMgr) showStudent() {for _, v := range s.AllStudentlist {fmt.Printf("学号:%d 姓名:%s 班级:%s\n", v.Id, v.Name, v.Class)}}
本程序是由两部分组成,运行的时候有时候提示报错,就是需要把程序编程成一个文件在执行就是解决了报错的问题
编译命令:
go build -o student.exe main.go student.go
go build -o #>>>>打包【生成exe文件命令】
student.exe #>>>>>生成文件名称
main.go student.go 需要编译的两个 *.go文件;
go build -o student.exe main.go student.go
运行程序:
学生管理系统--golang--简单版本---开发框架相关推荐
- c语言实现的简单学生管理系统
简单学生管理系统–c语言 花了一个月的时间,学习了链表,文件,多文件编程,然后就开始写学生管理系统,比较简单的那种,实现了增,添,改,查,多种排序,输入的时候的限定,成绩分析的功能.遇到的问题很多,也 ...
- Python学生管理系统——面向对象版本
Python练习题----学生管理系统(面向对象版本) 一. 题目要求: 学生信息管理:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等.设计一个学生信息管理系统,使之提供以下功能: -- ...
- python成绩管理系统设计 gui csdn_用golang简单编写学生信息管理系统
用golang简单编写学生信息管理系统 发布时间:2020-09-04 11:45:16编辑:三青(参考七米老师的视频)查看次数:187 student.gopackage main import & ...
- Android——一个简单的学生管理系统
一个简单的学生管理系统 效果演示 实现功能总览 代码 效果演示 随手做的一个小玩意,还有很多功能没有完善,倘有疏漏,万望海涵. 实现功能总览 实现了登录.注册.忘记密码.成绩查询.考勤情况.课表查看. ...
- python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统
原标题:Python小项目:快速开发出一个简单的学生管理系统 本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: ...
- python小项目案例-Python小项目:快速开发出一个简单的学生管理系统
本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...
- python简单项目-Python小项目:快速开发出一个简单的学生管理系统
本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...
- 运用HashMap和ArrayList打造一个简单的带文件的控制台学生管理系统(附上类及类方法的思维导图+控制台运行界面截图+源代码)
文章目录: 一.本文由来 二.适合人群 三.类及类方法思维导图 四.控制台运行界面截图 五.项目源代码链接 六.后记 七.再回首 一.本文由来 今天是2020年1月23日.因为在2019年上半学期Ja ...
- java简单系统_Java简单学生管理系统
Java简单学生管理系统 这个不需要手动输入,笔记记录 //student` public class student(){ private String id;//学号 private String ...
- python项目开发实例-Python小项目:快速开发出一个简单的学生管理系统
本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...
最新文章
- 各大网站屏蔽搜索引擎抓取分析
- AMS重要的数据结构解析(二):TaskRecord
- python五子棋双人对弈_PyQt5实现五子棋游戏(人机对弈)
- java date linux,Java中Date,SimpleDateFormat
- Sublime Text3自定义快捷键
- Impala的操作命令之 内外shell
- 云信duilib之菜单
- vue+lodop打印快递面单
- vscode 显示/设置隐藏文件夹
- Android O (8.0) 新特性介绍
- 对SE_ResNet的理解
- 关闭springboot健康检查 org.springframework.boot.actuate.health.AbstractHealthIndicator 89 health - Elastic
- 生成html水印,兼容ie8,ie兼容性问题与解决办法,移动端水印给出的建议
- Flink入门(五) 实时流Join ElasticSearch6维度表
- 利用JWT安全验证(前后端分离,单点登录,分布式微服务)
- python使用代理爬虫_python爬虫requests使用代理ip
- 【夜读】让自己更幸福的8件小事
- 远程连接服务器(免密登录,ssh协议22号端口),web服务器:URL格式,http协议,http请求常用的方法(get和post)
- 计算机考试可以重复考吗,计算机二级能重复考吗
- Go_Channel详解
热门文章
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字(简单易懂)
- 谷歌Deep Dream解析(附源代码,可以直接运行)
- Educational Codeforces Round 67 E.Tree Painting (树形dp)
- 【洛谷习题】售货员的难题
- 【贪心 哈夫曼树】bzoj2923: [Poi1998]The lightest language
- 第二周冲刺第一天个人博客
- [NOIP2013] 华容道
- VC++ 求绝对值函数
- [python] 对于arcpy的简单使用。
- KMP模式匹配算法——C++