学籍(档案)管理系统的开发

1.在eclipse中创建一个项目SMS,建立User(用户)类、DataProcessing(数据处理)类和Main类,再建立管理员(Administrator)和学生(Student)两个用户类,并且继承User为User的子类(采用super关键字)。

2.用Hashtable数据结构创建用户,有管理员(Administrator)和学生(Student)两类。

3.登录成功根据不同的身份显示不同的功能界面,用showMenu()函数

管理员功能设计
包括添加新用户,删除用户,列出用户,修改用户信息和修改个人登录密码

普通用户(即学生)功能设计
包括修改个人信息,修改个人登录密码

在登录以及修改个人密码时会有一个判断用户名与密码是否匹配的过程算法

系统效果截图
登录界面

登录异常界面(密码错误或用户不存在)

管理员界面



操作后用户信息

普通用户(学生)界面

附完整代码

package studentManagementSystem;
import java.util.*;public class Administrator extends User {private Scanner scanner;public Administrator(String id,String password,String role,String name,String grade){super(id,password,role,name,grade);}public void showMenu(){System.out.println("*********欢迎进入管理员界面********");System.out.println("1.新增用户\n2.删除用户\n3.修改用户\n4.列出用户\n5.修改(本人)密码\n6.退出");System.out.println("请选择菜单:");manageMent();}public void manageMent(){scanner = new Scanner(System.in);int choice=scanner.nextInt();switch(choice){case 1:Add();break;case 2:Delete();break;case 3:Alter();break;case 4:listUser();break;case 5:alterPassword();break;case 6:System.out.println("系统退出,谢谢使用!");System.exit(0);default:System.out.println("error!");}showMenu();}
}
package studentManagementSystem;
import java.util.*;public class Student extends User {private Scanner scanner;public Student(String id,String password,String role,String name,String grade){super(id,password,role,name,grade);}public void showMenu(){System.out.println("*********欢迎进入学生界面********");System.out.println("1.列出(本人)信息\n2.修改(本人)密码\n3.退出");System.out.println("请选择菜单:");manageMent();}public void manageMent(){scanner = new Scanner(System.in);int choice=scanner.nextInt();switch(choice){case 1:listSelfInformation();break;case 2:alterPassword();break;case 3:System.out.println("系统退出,谢谢使用!");System.exit(0);default:System.out.println("error!");}showMenu();}}
package studentManagementSystem;
import java.util.*;public class DataProcessing {static Hashtable<String,User>users;static{users = new Hashtable<String, User>();users.put("001", new Student("001","123","student","Tina","301"));users.put("002", new Student("002","123","student","Candy","302"));users.put("101", new Administrator("101","123","administrator","Sunny","301"));}public static User searchUser(String id){if (users.containsKey(id)) {return users.get(id);            }return null;}public static User search(String id, String password){if (users.containsKey(id)) {User temp =users.get(id);if ((temp.getPassword()).equals(password))return temp;}return null;}public static Enumeration<User> getAllUser(){Enumeration<User> e  = users.elements();return e;}public static boolean update(String id, String password, String role,String name,String grade){User user;if (users.containsKey(id)) {if (role.equalsIgnoreCase("administrator"))user = new Administrator(id,password, role,name,grade);elseuser = new Student(id,password, role,name,grade);users.put(id,user);return true;}elsereturn false;}public static boolean insert(String id, String password, String role,String name,String grade){User user;if (users.containsKey(id))return false;else{if (role.equalsIgnoreCase("administrator"))user = new Administrator(id,password, role,name,grade);elseuser = new Student(id,password, role,name,grade);users.put(id, user);return true;}}public static boolean delete(String id){if (users.containsKey(id)){users.remove(id);return true;}elsereturn false;}
}
package studentManagementSystem;
import java.util.*;public abstract class User {private String id;private String password;private String role;private String name;private String grade;User(String id,String password,String role,String name,String grade){this.id=id;this.password=password;this.role=role;this.name=name;this.grade=grade;}public String getID() {return id;}public void setID(String id){this.id=id;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getRole() {return role;}public void setRole(String role) {this.role = role;}public String getName() {return name;}public void setNamae(String name){this.name=name;}public String getGrade() {return grade;}public void setGrade(String grade){this.grade=grade;}public abstract void showMenu();public abstract void manageMent();Scanner scanner=new Scanner(System.in);public void Add(){System.out.println("请输入学号:");String id=scanner.next();System.out.println("请输入密码:");String password=scanner.next();System.out.println("请输入身份:");String role=scanner.next();System.out.println("请输入姓名:");String name=scanner.next();System.out.println("请输入班级:");String grade=scanner.next();DataProcessing.insert(id, password, role, name, grade);System.out.println("新增用户成功!");}public void Delete(){System.out.println("请输入学号:");String id=scanner.next();DataProcessing.delete(id);System.out.println("删除用户成功!");}public void Alter(){System.out.println("请输入学号:");String id=scanner.next();System.out.println("请输入密码:");String password=scanner.next();System.out.println("请输入身份:");String role=scanner.next();System.out.println("请输入姓名:");String name=scanner.next();System.out.println("请输入班级:");String grade=scanner.next();DataProcessing.update(id, password, role, name, grade);System.out.println("修改成功!");}public void listUser(){Enumeration<User> e= DataProcessing.getAllUser();User user;while( e.hasMoreElements() ){user=e.nextElement();System.out.println("ID:"+user.getID()+"\t Password:" +user.getPassword()+"\t Role:" +user.getRole()+"\t Name:"+user.getName()+"\t Grade:"+user.getGrade());}}public void alterPassword(){System.out.println("请输入密码:");String password=scanner.next();User user=DataProcessing.search(getID(),password);if(user==null)System.out.println("密码错误!");elseSystem.out.println("请输入修改密码:");String ppassword=scanner.next();DataProcessing.update(getID(), ppassword, getRole(),getName(),getGrade());changeSelfInfo(ppassword);}public void listSelfInformation(){System.out.println("ID:"+getID()+"\t Password:" +getPassword()+"\t Role:" +getRole()+"\t Name:"+getName()+"\t Grade:"+getGrade());}public boolean changeSelfInfo(String password){//写用户信息到存储if (DataProcessing.update(id, password, role,name,grade )){this.password=password;System.out.println("修改成功!");return true;}elsereturn false;}
}
package studentManagementSystem;
import java.util.*;public class Main {private static Scanner scanner;public static void main(String[]args){System.out.println("**************欢迎进入学籍管理系统************\n"+"1.登录\n2.退出\n"+"**************请选择菜单**************\n");String id,password;scanner = new Scanner(System.in);int choice=scanner.nextInt();switch(choice){case 1:System.out.println("请输入学号:");id=scanner.next();System.out.println("请输入密码:");password=scanner.next();User user=DataProcessing.search(id,password);if(user==null)System.out.println("学号或密码错误!");elseuser.showMenu();break;case 2:System.out.println("系统退出,谢谢使用!");break;default:System.out.println("error!");}}
}

学籍(档案)管理系统的开发相关推荐

  1. 高校学籍档案管理系统 - 大学生学籍档案查询系统

    专久智能高校学籍档案管理系统.大学生学籍档案查询系统是一种高效的信息化管理系统,可以有效地管理学生的学籍档案.专久智能学籍档案管理系统包括学生基本信息.学籍变动.考试成绩.学位证书等信息,并将其整合到 ...

  2. asp.net幼儿园电子档案管理系统VS开发sqlserver数据库web结构c#编程计算机网页项目

    一.源码特点        ASP.NET 幼儿园电子档案管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发.开发环境为vs2010,数据库为sqlser ...

  3. 计算机学校要学籍吗,对普通高中学校学籍档案信息化管理相关问题的几点探讨...

    摘 要:信息技术的迅猛发展,计算机的广泛普及,对普通高中学校的学籍档案管理带来一定的冲击.作为高中学校的档案管理部门,应当与时俱进,加强对学生学籍档案管理的信息化建设,开发出一套符合自身发展的档案管理 ...

  4. Python高校学生档案管理系统毕业设计源码071528

    Python高校学生档案管理系统 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理.在现实运用中,应用软件的工作规则和开发 ...

  5. [附源码]计算机毕业设计springboot交通事故档案管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. [附源码]java毕业设计学生档案管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  7. [附源码]java毕业设计学生档案管理系统论文

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  8. c语言学生健康档案,中小学学生档案管理系统.doc

    中小学学生档案管理系统 目 录 摘 要1 Abstract 2 前言4 1 概 述5 1.1??开发背景5 1.2??开发环境6 2 系统调查7 2.1概要调查7 2.2 现行系统的详细调查8 2.3 ...

  9. 【计算机毕业设计】交通事故档案管理系统

    一.系统截图(需要演示视频可以私聊) 摘  要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:对于交通事故档案管理系统当然也不能排除在外,随着网络技术的不断成 ...

  10. springboot 交通事故档案管理系统-计算机毕设 附源码72452

    SpringBoot交通事故档案管理系统 摘  要 随着科学技术的飞速发展,社会的方方面面.各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,交通事故的管理当然也不例外.交通事故档案 ...

最新文章

  1. json.dumps()函数解析
  2. SQLServer数据库获取重复记录中日期最新的记录
  3. 2021“MINIEYE杯”中国大学生算法设计超级联赛(8)(1002,1004,1006,1009)
  4. UVA - 1587 ​​​​​​​Box
  5. MATLAB图片的保存与导出
  6. Linux驱动概念扫盲篇
  7. Mysql 数据库语句常用总结
  8. 可以看下是什么问题吗
  9. mysql集群异地部署_linux 环境下 部署mysql 集群
  10. MySQL-快速入门(3)运算符
  11. 太可爱啦!程序员把电脑病毒当宠物养
  12. 清理C盘——这个操作让你的C盘多出20G空间
  13. 【Mark】计算机科学导论
  14. 项目管理工具二、STAR原则
  15. Android之路——第一个上线 APP项目总结
  16. 计算机专业实训指导老师评语,计算机教师指导评语
  17. 世界上顶级英文歌曲首选
  18. java数据结构运动会分数统计,数据结构实验报告(运动会分数统计系)..doc
  19. python locust在linux下的安装
  20. 计算机数据结构英语作文,计算机-数据结构基本英语(4)

热门文章

  1. 【python爬虫教程】用python抓取肯德基某地的门店列表实例代码(支持分页)
  2. VisualFreeBasic:VisualBasic6望尘莫及之变量初始
  3. UE4 AndroidSDK配置
  4. 【笔记】嵌入式系统概述
  5. FinalData 数据恢复
  6. 东北大学计算机硬件基础课件,东北大学计算机硬件基础实验报告模板.docx
  7. jsp观影平台/影视观看系统/视频网站
  8. 通过token窃取实现降权或者提权
  9. oracle rac linux下安装
  10. MySql表分区介绍