C++實現(xiàn)職工管理系統(tǒng)
更新時間:2021年05月26日 15:18:34 作者:培培不是我小寶貝
這篇文章主要為大家詳細介紹了C++實現(xiàn)職工管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了C++實現(xiàn)職工管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

workermanager.h
#pragma once//防止頭文件重復(fù)包含
#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;//記錄職工人數(shù)
Worker ** m_EmpArray;//職工數(shù)組指針
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);//按照職工編號判斷職工是否存在,存在返回職工在數(shù)組中的位置,不存在返回-1
void save();//保存文件
bool m_FileIsEmpty;//判斷文件是否為空,標志
int get_EmpNum();//統(tǒng)計人數(shù)
void init_Emp();//初始化元員工
~WorkerManager();
};
worker.h
#pragma once//防止頭文件重復(fù)包含
#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:
//構(gòu)造函數(shù)
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:
//構(gòu)造函數(shù)
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();
};
職工管理系統(tǒng).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://退出系統(tǒng)
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//防止頭文件重復(fù)包含
#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;//記錄職工人數(shù)
Worker ** m_EmpArray;//職工數(shù)組指針
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);//按照職工編號判斷職工是否存在,存在返回職工在數(shù)組中的位置,不存在返回-1
void save();//保存文件
bool m_FileIsEmpty;//判斷文件是否為空,標志
int get_EmpNum();//統(tǒng)計人數(shù)
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崗位職責(zé):完成經(jīng)理交給的任務(wù)" << 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崗位職責(zé):完成老板布置的任務(wù)并下發(fā)給員工" << endl;
}
string Manager::getDeptName()
{
return string("經(jīng)理");
}
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崗位職責(zé):管理整個公司" << endl;
}
string Boss::getDeptName()
{
return string ("老板");
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++實現(xiàn)LeetCode(312.打氣球游戲)
這篇文章主要介紹了C++實現(xiàn)LeetCode(312.打氣球游戲),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07

