C++实现职工管理系统

时间:2022-09-19 13:15:28

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

C++实现职工管理系统

workermanager.h

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#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

?
1
2
3
4
5
6
7
8
9
10
11
12
#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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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++实现职工管理系统

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

原文链接:https://blog.csdn.net/weixin_54748281/article/details/117168893