简易的人员管理系统

本文介绍了一款针对航空公司办事处管理的软件系统设计过程,涵盖用户模块、办事处模块及自动化功能,涉及用户信息本地存储、权限管理及不同角色的菜单显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目

某航空公司在其航班到达的不同的国家的不同地方设有不同的办事处,这个项目要求开发一个自动化软件系
统,该系统将提供给这些办事处的管理者(role=1)和普通用户(role=0)用于管理航班信息。根据以上描述,要
求实现系统的用户模块和办事处模块,包含以下功能(注:系统存在一个默认管理员admin/admin123):
标题

User类

先建立一个User类,使用shift+ Alt+s 添加构造方法,getters,setters和重写toString()。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Office类

然后再创建一个Office类,使用shift+Alt+s,同上。
在这里插入图片描述

MySystem类

这个类里面需要写出我们需要的功能模块,功能模块用一个个方法来完成。
在这个类的最开始,先创建需要的属性和构造方法
在这里插入图片描述
如果我来使用这个系统的话,最开始要做的事情肯定是先登录,所以我先写一个登录模块。
而这个时候我遇到了一个问题,我首先需要得到保存在本地的用户的信息,才能验证账户密码等信息。
而要得到本地的用户信息,首先得需要创建一个文件来保存本地的用户信息,所以先创建一个user.txt文件。

 方法代码如下:

在这里插入图片描述
因为是第一次读取本地文件,所以需要创建一个默认账户,并把此账户信息写入本地文件user.txt
所以代码中有一个writeUserToLocal()方法来把用户信息写入本地,此方法代码为
在这里插入图片描述
然后把readUserFromLocal()方法丢到构造方法中,以便在创建类对象的时候就读取本地信息
在这里插入图片描述

login() 登录模块

在这里插入图片描述
可以看到密码验证正确后,调用了一个printMenu()方法,这个方法用来打印菜单,因为用户包括管理员和普通用户(role=1为管理员,role=0为普通用户),而管理员和普通用户拥有的权限是不同的,所以需要根据role的值来判断是管理员还是普通用户,于是printMenu()需要传入一个参数role
方法代码如下:
在这里插入图片描述
可以看到代码最后调用了一个selectOfMenu()方法,这个方法用来选择使用什么功能,因为普通用户和管理员能使用的功能是不同的,所以需要传入一个role参数来区分管理员和普通用户
代码如下:
在这里插入图片描述
在这里插入图片描述
方法体中的注释下面是被调用的各种方法,而这些方法·····我都还没写,先摸了

___________________________________________________________________________________-

摸完了,来补档

这次稍微改善了一些代码,比如login()方法里调用的printMenu()方法,将参数改了一下,从user.getRole改成了user,因为后面需要用到user对象的其他属性,只有role一个属性不能满足我的需求。顺便给login()加了个判断账号是否被封禁的语句

代码如下
在这里插入图片描述

对打印菜单的界面也做了点修改,使其更符合对称美学,不想之前那样长长的一条······
代码如下
在这里插入图片描述
效果如下
在这里插入图片描述

接下来发一下各个方法的代码:

selectOfMenu()方法 选择功能模块

这是各个方法都补完之后的代码
在这里插入图片描述
在这里插入图片描述

添加用户模块

这里的重点是判断用户账号是否重复,如果重复则不能注册,还是用for循环遍历加if判断的方法解决。
在这里插入图片描述
在这里插入图片描述

修改密码模块

修改密码要判断两次,一次是原密码是否正确,第二次是判断两次输入的新密码是否一致
在这里插入图片描述

查看个人信息模块和修改用户状态模块

查看个人信息就一条代码就行了,写的最爽的模块,用户的状态就是账号是否被禁用,修改用户的状态首先要根据id找到被修改用户,还是用for循环遍历。
在这里插入图片描述

修改用户角色模块和查看用户列表模块

修改用户角色和查看用户列表模块和上面两个功能大致相同,代码也差不多
在这里插入图片描述

删除用户模块

同上
在这里插入图片描述

办事处添加模块和显示办事处列表模块

办事处添加和用户添加差不多,办事处列表要分别显示每个办事处下的所有员工
在这里插入图片描述

查询指定办事处的所有员工

和用户列表差不多
在这里插入图片描述

构造方法

方法写完后,把所有读取方法都丢到构造方法中,login()方法也丢进去,记得把login()方法丢在所有读取方法的下面,不然会出现空值异常
在这里插入图片描述
实际效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
emmmm就这样吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值