职工管理系统
1. 管理系统需求
职工管理系统可以用来管理公司内所有员工的信息,利用C++来实现一个基于多态的职工管理系统
公司中职工分为三类:普通员工、经理、老板,显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责
-
普通员工职责:完成经理交给的任务
-
经理职责:完成老板交给的任务,并下发任务给员工
-
老板职责:管理公司所有事务
管理系统中需要实现的功能如下:
- 退出管理程序:退出当前管理系统
- 增加职工信息:实现批量添加职工功能,将信息录入到文件中,职工信息为:职工编号、姓名、部门编号
- 显示职工信息:显示公司内部所有职工的信息
- 删除离职职工:按照编号删除指定的职工
- 修改职工信息:按照编号修改职工个人信息
- 查找职工信息:按照职工的编号或者职工的姓名进行查找相关的人员信息
- 按照编号排序:按照职工编号,进行排序,排序规则由用户指定
- 清空所有文档:清空文件中记录的所有职工信息 (清空前需要再次确认,防止误删)
2. 创建管理类
管理类负责的内容如下:
- 与用户的沟通菜单界面
- 对职工增删改查的操作
- 与文件的读写交互
2.1 创建文件
在头文件和源文件的文件夹下分别创建 workerManager.h
和 workerManager.cpp
文件
2.2 头文件实现
在 workerManager.h
中设计管理类
代码如下:
#pragma once
#include <iostream>
class WorkerManager
{
public:
WorkerManager();
~WorkerManager();
};
2.3 源文件实现
在 workerManager.cpp
中将构造和析构函数空实现补全
#include "workerManager.h"
WorkerManager::WorkerManager()
{
}
WorkerManager::~WorkerManager()
{
}
至此职工管理类以创建完毕
3. 菜单功能
3.1 添加成员函数
在管理类 workerManager.h
中添加成员函数 void Show_Menu();
#pragma once
#include <iostream>
class WorkerManager
{
public:
WorkerManager();
void showMenu();
~WorkerManager();
};
3.2 菜单功能实现
在管理类 workerManager.h
中添加成员函数 void Show_Menu();
void WorkerManager::showMenu()
{
std::cout << "********************************************" << std::endl;
std::cout << "********* 欢迎使用职工管理系统! **********" << std::endl;
std::cout << "************* 0.退出管理程序 *************" << std::endl;
std::cout << "************* 1.增加职工信息 *************" << std::endl;
std::cout << "************* 2.显示职工信息 *************" << std::endl;
std::cout << "************* 3.删除离职职工 *************" << std::endl;
std::cout << "************* 4.修改职工信息 *************" << std::endl;
std::cout << "************* 5.查找职工信息 *************" << std::endl;
std::cout << "************* 6.按照编号排序 *************" << std::endl;
std::cout << "************* 7.清空所有文档 *************" << std::endl;
std::cout << "********************************************" << std::endl;
std::cout << std::endl;
}
3.3 测试菜单功能
main.cpp
文件中中测试菜单功能
#include <iostream>
#include "workerManager.h"
int main()
{
WorkerManager wm;
wm.showMenu();
return 0;
}
4. 退出功能
4.1 提供功能接口
在main函数中提供分支选择,提供每个功能接口
int main()
{
WorkerManager wm;
int choise = 0;
while (true)
{
wm.showMenu();
std::cout << "请输入你的选择: " << std::endl;
std::cin >> choise;
switch (choise)
{
case 0: //退出系统
break;
case 1: //添加职工
break;
case 2: //显示职工
break;
case 3: //删除职工
break;
case 4: //修改职工
break;
case 5: //查找职工
break;
case 6: //排序职工
break;
case 7: //清空文件
break;
default:
system("cls");
break;
}
}
return 0;
}
4.2 实现退出功能
在 workerManager.h
中提供退出系统的成员函数 void exitSystem();
在 workerManager.cpp
中提供具体的功能实现
void WorkerManager::exitSystem()
{
cout << "欢迎下次使用" << endl;
system("pause");
exit(0);
}
4.3 测试功能
在main函数分支 0 选项中,调用退出程序的接口
5. 创建职工类
5.1 创建职工抽象类
职工的分类为:普通员工、经理、老板
将三