C++實現(xiàn)職工管理系統(tǒng)
更新時間:2021年05月26日 15:18:34 作者:培培不是我小寶貝
這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)職工管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了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;//判斷文件是否為空,標(biāo)志 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;//判斷文件是否為空,標(biāo)志 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++默認(rèn)構(gòu)造函數(shù)的一點重要說明
下面小編就為大家?guī)硪黄獙++默認(rèn)構(gòu)造函數(shù)的一點重要說明。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12C++實現(xiàn)LeetCode(312.打氣球游戲)
這篇文章主要介紹了C++實現(xiàn)LeetCode(312.打氣球游戲),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07