这里写自定义目录标题
一、管理系统需求
职工管理系统可以用来管理公司内所有员工的信息
本教程主要利用C++来实现一个基于多态的职工管理系统
公司中职工分为三类:普通员工、经理、老板,显示信息时,需要显示职工编号、职工姓名、职工岗位以及职责。
管理系统中需要实现的功能如下:
1.退出管理程序:退出当前管理系统;
2.增加职工信息:实现批量添加职工功能,将信息录入到文件中,职工信息为职工编号、姓名和部门编号;
3.显示职工信息:显示公司内所有职工的信息;
4.删除离职职工:按照编号删除指定的职工;
5.修改职工信息:对职工信息进行修改;
6.查找职工信息:按照姓名和编号对职工信息进行查找;
7.按照编号排序:对文件中的职工信息按照职工编号进行排序;
8.清空所有文档:清空文件中的所有信息;
二、具体实现
2.1 创建项目
在VS2019中新建项目,点击创建新项目,创建新的C++项目,填写项目名称一级项目路径,再确定。
2.2 添加文件
右键源文件,进行添加文件操作。添加头文件也是如此,右键头文件,进行添加头文件操作。
2.3 创建管理类
管理类主要负责的内容如下:
①与用户的交互菜单界面
②对职工增删改查的操作
③与文件的读写交互
在头文件和源文件的文件夹下分别创建workerManager.h和workerManager.cpp文件。
在workerManager.h文件中包含管理类以及相应的各种函数,具体如下:
2.4 菜单功能
显示菜单功能由成员函数show_menu( )来实现。
运行结果如下:
2.5 退出功能实现
退出功能由成员函数Exit_system( )方法来实现。退出功能其实很简单,主要是依靠依据代码:exit(0); 在主函数中调用该函数即可。
2.6 创建职工类
在创建职工类这里要体现我们的多态思想,将普通员工、经理和老板三种职工抽象到一个类(worker)中,利用多态管理不同职工种类。先创建父类,然后在子类中将父类中的方法给具体实现出来。具体效果如下:
2.7 添加职工
添加职工功能由Add_Emp( )具体来实现。我们这里用文件来保存用户输入的职工信息。关键代码如下:
这里的关键是根据用户输入的职工岗位的不同来利用多态new出不同的职工,记得在存入数组后要释放原有空间并更改新空间的指向。
2.8 显示职工信息
该功能主要由show_Emp( )实现。这也相当于是个读文件的操作,具体实现如下:
其中showInfo( )是每个职工类中都定义了的成员函数,具体如下(以普通职工为例):
2.9 删除离职职工
该功能由函数Del_Emp( )来实现。我们这里采用的方法是删除数组中的该条信息,并将后续位置的信息前移。具体实现如下:
这里的关键是要记得判断该职工的信息是否存在于文件中。
2.10 修改职工信息
该功能由函数mod_Emp( )来实现,我们这里采用的方法是将需要修改的那条信息全部修改,让用户全部重新输入。具体实现如下:
记得也要判断该条信息是否存在。
2.11 查找职工信息
该功能由find_Emp( )来实现,我们给用户提供选择,用户可以选择使用编号查询或者是姓名查询,如果使用姓名查询,会把所有相同姓名的职工显示出来。具体实现如下:
2.12 按编号排序
该功能由sort_Emp( )来实现,我们这里使用的是选择排序,如果不懂原理的可以百度。我们这里也是提供了两种排序方式:升序和降序。具体实现如下:
2.13 清空文件
该功能由clean_file( )来实现。我们这里采用的是将文件删除并重新创建一个新的空文件,具体实现如下:
三、想说的
这是我第一篇博客,做的不好请多指教,这也是我第一个C++项目,虽然有点拉跨。具体的视频教学可以 点这里。