C++ 职工管理系统

职工管理系统

一、 需求

职工管理系统可以用来管理公司所有员工的信息

本次利用C++来实现一个基于多态的职工管理系统

公司中职工分为三类:普通职工、经理、老板。显示信息时,需要显示职工编号、职工姓名、职工岗位以及职责

普通员工职责:完成经理布置的任务

经理职责:完成老板布置的任务,并下发给员工

老板职责:管理公司所有事务

管理功能中需要实现的功能

  • 退出管理程序:退出当前管理系统
  • 增加职工信息:实现批量添加职工信息,将信息录入到文件中,职工信息为:职工编号、姓名、部门编号
  • 显示职工信息:显示公司内部所有职工的信息
  • 删除离职职工:按照编号删除指定的职工
  • 修改职工信息:按照编号修改职工个人信息
  • 查找职工信息:按照职工的编号或者姓名进行查找相关的人员信息
  • 按照编号排序:按照职工编号,进行排序,排序规则由用户指定
  • 清空所有文档:清空文件中记录的所有职工信息(清空前需要再次确认,防止误触)

二、 创建管理类

管理类赋值的内容如下

  • 与用户的沟通菜单界面
  • 对职工增删改查的操作
  • 与文件的读写交互

1、创建文件

在头文件和源文件的文件夹下面分别创建 workerManger.h 和 workerManger.cpp 文件

https://images.cnblogs.com/cnblogs_com/blogs/722174/galleries/2074790/o_220214053713_Snipaste_2022-02-14_13-36-18.png

2、 头文件实现

在 workerManager.h 中设计管理类

#pragma once  // 防止头文件重复包含
#include <iostream>  // 包含输入输出流头文件
using namespace std;  // 使用标准命名空间

class WorkerManager
{
public:
	// 构造函数
	WorkerManager();
	// 析构函数
	~WorkerManager();
};

3、 源文件实现

在 workerManager.cpp 中将构造函数和析构函数空实现补全

#include "workerManager.h"

WorkerManager::WorkerManager() {}
WorkerManager::~WorkerManager() {}

三、 菜单功能

功能描述:与用户的沟通界面

1、 添加成员函数

在管理类 workerManager.h 中添加成员函数 void Show_Menu();

class WorkerManager
{
public:
	// 构造函数
	WorkerManager();
	// 展示菜单
	void Show_Menu();
	// 析构函数
	~WorkerManager();
};

2、 功能实现

在管理类 workerManager.cpp 中实现 Show_Menu() 函数

void WorkerManager::Show_Menu()
{
	cout << "********************************" << endl;
	cout << "***** 欢迎使用职工管理系统 *****" << endl;
	cout << "******* 0、 退出管理系统 *******" << endl;
	cout << "******* 1、 增加职工信息 *******" << endl;
	cout << "******* 2、 显示职工信息 *******" << endl;
	cout << "******* 3、 删除离职职工 *******" << endl;
	cout << "******* 4、 修改职工信息 *******" << endl;
	cout << "******* 5、 查找职工信息 *******" << endl;
	cout << "******* 6、 按照编号排序 *******" << endl;
	cout << "******* 7、 清空所有文档 *******" << endl;
	cout << "********************************" << endl;
   	cout << endl;
}

3、 测试菜单功能

在 职工管理系统.cpp 中测试菜单功能

#include <iostream>
using namespace std;
#include "workerManager.h"

int main()
{
	// 实例化管理对象
	WorkerManager wm;
	// 调用成员函数
	wm.Show_Menu();

	system("pause");
	return 0;
}

四、 退出功能

1、 提供功能接口

在 main() 函数中提供分支选择,提供每个功能接口

int main()
{
	WorkerManager wm;
	int choice;
	while (true)
	{
		// 展示菜单
		wm.Show_Menu();
		cout << "请输入您的选择:" << endl;
		cin >> choice;
		switch (choice)
		{
		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;
		}
	}

	system("pause");
	return 0;
}

2、 实现退出功能

在 workerManager.h 中提供退出系统的成员函数 void exitSystem();

在 workerManager.cpp 中提供具体的功能实现

void WorkerManager::exitSystem()
{
	cout << "欢迎下次使用" << endl;
	system("pause");
	exit(0);  // 退出程序 
}

五、 创建职工类

1、 创建职工抽象类

职工分为:普通员工、经理、老板

将三种职工抽象到一个类(worker)中,利用多态管理不同职工种类

职工属性分为:职工编号、职工姓名、职工所在部门

职工的行为:岗位职责信息描述、获取岗位名称

在头文件下,创建文件 worker.h 文件并且添加代码

#pragma once
#include <iostream>
using namespace std;

// 员工抽象类
class Worker
{
public:
	virtual void showInfo() = 0;  // 显示职工信息
	virtual string getDeptName() = 0;  // 返回岗位名称
	int m_Id;  // 职工编号
	string m_Name;  // 职工姓名
	int m_DeptId;  // 部门编号
};

2、 创建普通员工类

在头文件下,创建 employee.h 头文件,并且添加代码

#pragma once
#include "worker.h"
#include <iostream>
using namespace std;

class Employee : public Worker
{
public:
	Employee(int id, string name, int did);
	virtual void showInfo();  // 显示职工信息
	string getDeptName();  // 返回岗位名称
};

在源文件中,创建 employee.cpp,并且添加代码

#include "employee.h"

Employee::Employee(int id, string name, int did)
{
	this->m_Id = id;
	this->m_Name = name;
	this->m_DeptId = did;
}
void Employee::sho
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SteveKenny

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值