本文实例为大家分享了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 ("老板");}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
旅行,其实是需要具有一些流浪精神的,