基于C++的职工管理系统

ps:我是基于黑马程序员视频中的程序进行一定的改写以及注释。
我用的是vs2017
我感觉这对C++进行一定的基础学习还是有一定的作用,
项目对文件以及程序的布置都是值得学习和思考的,
我认为这里用的需要注意的知识点就是虚函数,继承,以及多态。
在这里插入图片描述在这里插入图片描述

#include<iostream>
#include<fstream>
using namespace std;
#include"woker.h"
#define FILENAME "empFile.txt"

class WorkerManager
{
   
public:

	//构造函数
	WorkerManager();

	//析构函数
	~WorkerManager();

	void showMenu();
	void exitSystem();
	void addEmp(); //添加职工
	void saveDate(); //保存数据
	int get_EmpNum();//读取数据中的人数
	void init_Emp();//初始化员工
	void show_Emp();//显示员工信息
	int IsExit(int id);//查看数据是否存在
	void Del_Emp();//删除操作
	void change_Emp();//改变对应数据的信息
	void find_Emp();//查看对应数据的信息
	void sort_Emp();//对信息进行排序
	void clean_Emp();//清理文件中的所有数据
	int m_EmpNum; //记录文件中的人数个数
	
	bool e_FileIsEmpty; //作为判断文件是否为空的标志


	worker ** m_EmpArray;  //员工数组的指针  其中**的意思是 一个指向worker基类,第二个指向抽象实例化之后的类
};

在这里插入图片描述

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

class Boss : public worker
{
   
public:
	Boss(int id, string name, int dId);
	virtual void showIofo();
	virtual string getDeptName();
};

在这里插入图片描述

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

class staff : public worker
{
   
public:
	staff(int id, string name, int dId);
	
	virtual void showIofo();
	virtual string getDeptName();
};

在这里插入图片描述

#pragma once

#include<iostream>
#include<string>
using namespace std;

class worker
{
   
public:
	virtual  void showIofo() = 0;

	virtual string getDeptName() = 0;

	int m_Id;
	string m_Name;
	int m_DeptId;
};

在这里插入图片描述

#include"manager.h"
#include<string>
using namespace std;


manager::manager(int id, string name, int dId)
{
   
	this->m_Id = id;
	this->m_Name = name;
	this->m_DeptId = dId;
}

void manager::showIofo() 
{
   
	cout << "职工编号: " << this->m_Id
		<< " \t职工姓名: " << this->m_Name
		<< " \t岗位:" << this->getDeptName()
		<< " \t岗位职责:完成老板交给的任务,并下发任务给员工" << endl;
}

string manager::getDeptName()
{
   
	return string("经理");
}

在这里插入图片描述

#include"Boss.h"

Boss::Boss(int id, string name, int dId)
{
   
	this->m_Id = id;
	this->m_Name = name;
	this->m_Id = dId;
}

void Boss::showIofo()
{
   
	cout << "职工编号: " << this->m_Id
		<< " \t职工姓名: " << this->m_Name
		<< " \t岗位:" << this->getDeptName()
		<< " \t岗位职责:管理公司所有事务" << endl;
}

string Boss::getDeptName()
{
   
	return string("老板");
}

在这里插入图片描述

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

int main() {
   
	WorkerManager WM;
	int choice = 0;
	while (true)
	{
   
		//展示菜单
		WM.showMenu();
		cout << "请输入您的选择:" << endl;
		cin >> choice;

		
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一种用于构建独立的、生产级别的 Spring 应用程序的框架,而 Activiti 是一种用于构建工作流的框架。将它们结合起来可以构建出功能强大的工作流管理系统。 以下是整合 Spring Boot 和 Activiti 的步骤: 1. 添加 Activiti 依赖 在 pom.xml 文件中添加 Activiti 依赖: ``` <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>6.0.0</version> </dependency> ``` 2. 配置数据源 在 application.properties 文件中配置数据源: ``` spring.datasource.url=jdbc:mysql://localhost:3306/activiti?characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 3. 配置 Activiti 在 application.properties 文件中配置 Activiti: ``` # Activiti spring.activiti.database-schema-update=true spring.activiti.check-process-definitions=true ``` 4. 创建流程定义 使用 Activiti Designer 工具创建流程定义,将生成的 BPMN 文件放到项目的 resources/processes 目录下。 5. 编写代码 创建一个 Spring Boot 应用程序,并编写代码来管理工作流。可以使用 Activiti 提供的 Java API 来启动、停止、查询工作流等操作。 6. 运行应用程序 运行应用程序并测试工作流的各项功能。 通过以上步骤,就可以将 Spring Boot 和 Activiti 整合起来,构建出一个功能强大的工作流管理系统

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值