本文实例为大家分享了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 ( "老板" ); } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_54748281/article/details/117168893