C++实现职工管理系统

本文实例为大家分享了C++实现职工管理系统的具体代码,供大家参考,具体内容如下

workermanager.h

#pragma once//防止头文件重复包含

#include <iostream>

#include "worker.h"

using namespace std;

#include "boss.h"

#include "employee.h"

#include "manager.h"

#include <fstream>

#define FILENAME "empFile.txt"

class WorkerManager

{

public:

WorkerManager();

void Show_Menu();//菜单功能

void ExitSystem();//退出功能

int m_EmpNum;//记录职工人数

Worker ** m_EmpArray;//职工数组指针

void Add_Emp();//添加职工

void Del_Emp();//删除职工

void Find_Emp();//查找职工

void Mod_Emp();//修改职工

void Show_Emp();//显示职工

void Sort_Emp();//排序

void Clean_File();

int IsExist(int id);//按照职工编号判断职工是否存在,存在返回职工在数组中的位置,不存在返回-1

void save();//保存文件

bool m_FileIsEmpty;//判断文件是否为空,标志

int get_EmpNum();//统计人数

void init_Emp();//初始化元员工

~WorkerManager();

};

worker.h

#pragma once//防止头文件重复包含

#include <iostream>

#include <string>

using namespace std;

class Worker//职工抽象类

{

public:

//显示个人信息

virtual void showInfo() = 0;

//获取岗位名称

virtual string getDeptName() = 0;

int m_Id;//职工编号

string m_Name;//职工姓名

int m_DeptId;//职工所在部门的编号

};

employee.h

#pragma once

#include <iostream>

using namespace std;

#include "worker.h"

class Employee :public Worker

{

public:

//构造函数

Employee(int id, string name, int dId);

//显示个人信息

virtual void showInfo();

//获取岗位信息

virtual string getDeptName();

};

manager.h

#pragma once

#include <iostream>

using namespace std;

#include "worker.h"

class Manager :public Worker

{

public:

//构造函数

Manager (int id, string name, int dId);

//显示个人信息

virtual void showInfo();

//获取岗位信息

virtual string getDeptName();

};

boss.h

#pragma once

#include <iostream>

using namespace std;

#include "worker.h"

class Boss :public Worker

{

public:

Boss(int id, string name, int dId);

virtual void showInfo();

virtual string getDeptName();

};

职工管理系统.cpp

#include <iostream>

using namespace std;

#include "WorkerManager.h"

#include "worker.h"

#include "employee.h"

int main()

{

WorkerManager wm;//实例化管理对象

int choice = 0;//存储用户

while (true)

{

//显示菜单

wm.Show_Menu();

cout << "请输入你的选择:" << endl;

cin >> choice;

switch (choice)

{

case 0://退出系统

wm.ExitSystem();

break;

case 1://增加职工

wm.Add_Emp();

break;

case 2://删除职工

wm.Del_Emp();

break;

case 3://查找职工

wm.Find_Emp();

break;

case 4://修改职工

wm.Mod_Emp();

break;

case 5://显示职工

wm.Show_Emp();

break;

case 6://排序职工

wm.Sort_Emp();

break;

case 7://清空文档

wm.Clean_File();

system("cls");

break;

}

}

system("pause");

return 0;

}

workermanager.cpp

#pragma once//防止头文件重复包含

#include <iostream>

#include "worker.h"

using namespace std;

#include "boss.h"

#include "employee.h"

#include "manager.h"

#include <fstream>

#define FILENAME "empFile.txt"

class WorkerManager

{

public:

WorkerManager();

void Show_Menu();//菜单功能

void ExitSystem();//退出功能

int m_EmpNum;//记录职工人数

Worker ** m_EmpArray;//职工数组指针

void Add_Emp();//添加职工

void Del_Emp();//删除职工

void Find_Emp();//查找职工

void Mod_Emp();//修改职工

void Show_Emp();//显示职工

void Sort_Emp();//排序

void Clean_File();

int IsExist(int id);//按照职工编号判断职工是否存在,存在返回职工在数组中的位置,不存在返回-1

void save();//保存文件

bool m_FileIsEmpty;//判断文件是否为空,标志

int get_EmpNum();//统计人数

void init_Emp();//初始化元员工

~WorkerManager();

};

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::showInfo()

{

cout << "职工编号:" << this->m_Id

<< "\t职工姓名:" << this->m_Name

<< "\t岗位:" << getDeptName()

<< "\t岗位职责:完成经理交给的任务" << endl;

}

string Employee::getDeptName()

{

return string("员工");

}

manager.cpp

#include "manager.h"

Manager::Manager(int id, string name, int dId)

{

this->m_Id = id;

this->m_Name = name;

this->m_DeptId = dId;

}

void Manager::showInfo()

{

cout << "职工编号:" << this->m_Id

<< "\t职工姓名:" << this->m_Name

<< "\t岗位:" << getDeptName()

<< "\t岗位职责:完成老板布置的任务并下发给员工" << endl;

}

string Manager::getDeptName()

{

return string("经理");

}

boss.cpp

#include "boss.h"

Boss::Boss(int id, string name, int dId)

{

this->m_Id = id;

this->m_Name = name;

this->m_DeptId = dId;

}

void Boss::showInfo()

{

cout << "\t职工编号:" << this->m_Id

<< "\t职工姓名:" << this->m_Name

<< "\t岗位:" << getDeptName()

<< "\t岗位职责:管理整个公司" << endl;

}

string Boss::getDeptName()

{

return string ("老板");

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是 C++实现职工管理系统 的全部内容, 来源链接: utcz.com/p/246173.html

回到顶部