学生信息管理系统(go语言基础版本)

说明:

该系统涉及md5对密码进行加密操作,有用户注册和登录的认证页面,然后进入系统完成基本的增删改查操作,另外有成绩排序功能。代码没有做更深的优化,仅供参考,以记录自己的学习过程为主

顺便推荐一个破解md5密码的网站:md5在线解密破解,md5解密加密

破解一些简单的还是没有问题的

一、功能页面展示部分

1.用户注册登录页面

(1)注册

 

(2)登录

2.学生信息管理系统页面 

(1)添加

(2)修改

 

(3)查看 

(4)删除

(5)排序

(6)退出 

二、代码部分 

文件结构以及文件名

1.main.go 

package main

import (
	"fmt"
	"project/util"
)

func main() {
	util.Login()
	if util.Shenfen==0{
		fmt.Println("登录失败")
		util.Login()
	}

	util.Init()
	var choice int
	s1:=util.Student{}
	for {
		fmt.Println("----------欢迎来到学生信息管理系统-----------")
		fmt.Println("              有以下选择:                   ")
		fmt.Println("               1.添加学生信息                ")
		fmt.Println("               2.修改学生信息                ")
		fmt.Println("               3.查看学生信息                ")
		fmt.Println("               4.删除学生信息                ")
		fmt.Println("               5.按照学生成绩排序            ")
		fmt.Println("               6.退出系统                    ")
		fmt.Println("---------------------------------------------")

		fmt.Printf("请输入您的选择:")
		fmt.Scanln(&choice)
		switch(choice){
			case 1:
				fmt.Println("开始添加学生信息")
				s1.AddInfo()
			case 2:
				fmt.Println("开始修改学生信息")
				s1.Modify()
			case 3:
				fmt.Println("开始查看学生信息")
				s1.ShowInfo()
			case 4:
				fmt.Println("开始删除学生信息")
				s1.DeleteInfo()
			case 5:
				fmt.Println("开始按照成绩对学生排序")
				s1.SortScore()
			case 6:
				fmt.Println("退出系统成功!")
				return
			default:
				fmt.Println("输入有误!")
		}
	}


}

2.login.go

package util

import (
	"fmt"
	"crypto/md5"
)

var Shenfen int=0

var NUM int

var YonghuArr [10]Yonghu

type Yonghu struct{
	username string
	password [16]byte
}

func Jiami(a string) [16]byte{
	new_a := md5.Sum([]byte(a))
	return new_a
}


func Login() {
	var choice int
	fmt.Println("--------用户登录注册界面-----------")
	fmt.Println("           有以下选择:            ")
	fmt.Println("       1.已有帐号,选择登录        ")
	fmt.Println("       2.没有帐号,选择注册        ")
	fmt.Printf("请输入你的选择: ")
	fmt.Scanln(&choice)
	switch(choice){
		case 1:
			fmt.Println("选择登录:")
			Denglu()
		case 2:
			fmt.Println("选择注册:")
			Zhuce()
		default:
			fmt.Println("输入有误!")
			Login()
	}
}

func Denglu(){
	var username,password string
	fmt.Printf("请输入你的用户名:")
	fmt.Scanln(&username)
	fmt.Printf("请输入你的密码:")
	fmt.Scanln(&password)

	md5_password:=Jiami(password)
	fmt.Printf("你输入的密码为:%x\n",md5_password)

	for i:=0;i<NUM;i++{
		if YonghuArr[i].username==username && YonghuArr[i].password==md5_password {
			fmt.Println("恭喜您,登录成功!")
			Shenfen=1
		}
	}
}

func Zhuce(){
	var username,password string
	fmt.Println("请输入你要注册的用户名:")
	fmt.Scanln(&username)
	fmt.Println("请输入你要注册的用户密码:")
	fmt.Scanln(&password)

	md5_password:=Jiami(password)

	YonghuArr[NUM].username=username
	YonghuArr[NUM].password=md5_password
	NUM++
	fmt.Println("恭喜您,注册成功!")
	Login()
}

3.init.go

package util

import "fmt" 

var StuArr [10]Student

var Num int

type Student struct{
	id int
	name string
	major string
	class string
	score int
	flag bool
}

func Init() {
	fmt.Println("初始化成功")
}

4.add.go

package util

import "fmt" 

func (s Student) AddInfo() {
	var id,score int
	var name,major,class string
	fmt.Printf("学生学号:")
	fmt.Scanln(&id)
	fmt.Printf("学生姓名:")
	fmt.Scanln(&name)
	fmt.Printf("学生专业:")
	fmt.Scanln(&major)
	fmt.Printf("学生班级:")
	fmt.Scanln(&class)
	fmt.Printf("学生分数:")
	fmt.Scanln(&score)

	StuArr[Num].id=id
	StuArr[Num].name=name
	StuArr[Num].major=major
	StuArr[Num].class=class
	StuArr[Num].score=score
	Num++
	fmt.Println("修改成功!")
}

5.delete.go

package util

import "fmt" 

func (s Student) DeleteInfo() {
	var id int
	fmt.Printf("请你输入你要删除的学生的学号:")
	fmt.Scanln(&id)
	for i:=0;i<Num;i++{
		if id==StuArr[i].id{
			StuArr[i].flag=true
			fmt.Println("删除成功!")
			return
		}
	}
	fmt.Println("查无此人!")
}

6.modify.go

package util

import "fmt" 

func (s Student) Modify() {
	var id,choice int
	var major,class string
	fmt.Printf("请你输入你要修改的学生的学号:")
	fmt.Scanln(&id)
	for i:=0;i<Num;i++ {
		if id==StuArr[i].id {
			fmt.Printf("请选择要修改的信息(1.专业 2.班级):")
			fmt.Scanln(&choice)
			switch(choice){
				case 1:
					fmt.Printf("将专业修改为:")
					fmt.Scanln(&major)
					StuArr[i].major=major
					fmt.Println("修改成功")
					return
				case 2:
					fmt.Printf("将班级修改为:")
					fmt.Scanln(&class)
					StuArr[i].class=class
					fmt.Println("修改成功")
					return
				default:
					fmt.Println("输入有误!")
					return
			}
		}
	}
	fmt.Println("查无此人!")
}

7.show.go

package util

import "fmt" 

func (s Student) ShowInfo() {
	fmt.Println("-------------------信息表-------------------")
	fmt.Println(" 学号    姓名       专业        班级    分数")
	for i:=0;i<Num;i++ {
		if StuArr[i].flag==false{
			fmt.Printf("%4d %8s %12s %8s %4d\n",StuArr[i].id,StuArr[i].name,StuArr[i].major,StuArr[i].class,StuArr[i].score)
		}
	}
}

8.sort.go

package util

import "fmt"

func (s Student) SortScore() {
	for i:=0;i<Num-1;i++{
		for j:=0;j<Num-1-i;j++{
			if StuArr[j].score < StuArr[j+1].score{
				var temp Student
				temp=StuArr[j]
				StuArr[j]=StuArr[j+1]
				StuArr[j+1]=temp
			}
		}
	}

	var choice int
	fmt.Printf("请你选择排序方法(1.从高到低 2.从低到高):")
	fmt.Scanln(&choice)

	if choice==1 {
		fmt.Println("------------按照成绩从高到低排序------------")
		fmt.Println(" 学号    姓名       专业        班级    分数")
		for i:=0;i<Num;i++ {
			fmt.Printf("%4d %8s %12s %8s %6d\n",StuArr[i].id,StuArr[i].name,StuArr[i].major,StuArr[i].class,StuArr[i].score)
		}
	}else if choice==2 {
		fmt.Println("------------按照成绩从低到高排序------------")
		fmt.Println(" 学号    姓名       专业        班级    分数")
		for i:=Num-1;i>=0;i-- {
			fmt.Printf("%4d %8s %12s %8s %6d\n",StuArr[i].id,StuArr[i].name,StuArr[i].major,StuArr[i].class,StuArr[i].score)
		}
	}else {
		fmt.Println("输入错误!")
	}
}

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值