最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)職工管理系統(tǒng)

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

本文實(shí)例為大家分享了C++實(shí)現(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);//按照職工編號(hào)判斷職工是否存在,存在返回職工在數(shù)組中的位置,不存在返回-1

 void save();//保存文件

 bool m_FileIsEmpty;//判斷文件是否為空,標(biāo)志

 int get_EmpNum();//統(tǒng)計(jì)人數(shù)

 void init_Emp();//初始化元員工 

 ~WorkerManager();
};

worker.h

#pragma once//防止頭文件重復(fù)包含
#include <iostream>
#include <string>
using namespace std;
class Worker//職工抽象類
{
public:
 //顯示個(gè)人信息
 virtual void showInfo() = 0;
 //獲取崗位名稱
 virtual string getDeptName() = 0;

 int m_Id;//職工編號(hào)
 string m_Name;//職工姓名
 int m_DeptId;//職工所在部門的編號(hào)
};

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);

 //顯示個(gè)人信息
 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);

 //顯示個(gè)人信息
 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;//實(shí)例化管理對(duì)象
 int choice = 0;//存儲(chǔ)用戶
 while (true)
 {
  //顯示菜單
  wm.Show_Menu();
  cout << "請(qǐng)輸入你的選擇:" << 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);//按照職工編號(hào)判斷職工是否存在,存在返回職工在數(shù)組中的位置,不存在返回-1

 void save();//保存文件

 bool m_FileIsEmpty;//判斷文件是否為空,標(biāo)志

 int get_EmpNum();//統(tǒng)計(jì)人數(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 << "職工編號(hào):" << 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 << "職工編號(hào):" << 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職工編號(hào):" << this->m_Id
  << "\t職工姓名:" << this->m_Name
  << "\t崗位:" << getDeptName()
  << "\t崗位職責(zé):管理整個(gè)公司" << endl;
}

string Boss::getDeptName()
{
 return string ("老板");
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++小知識(shí):不要去做編譯器的工作

    C++小知識(shí):不要去做編譯器的工作

    今天小編就為大家分享一篇關(guān)于C++小知識(shí):不要去做編譯器的工作,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • vscode中配置LeetCode插件的教程(愉快刷題)

    vscode中配置LeetCode插件的教程(愉快刷題)

    這篇文章主要介紹了vscode中配置LeetCode插件的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-03-03
  • C語(yǔ)言實(shí)現(xiàn)掃雷小游戲的示例代碼

    C語(yǔ)言實(shí)現(xiàn)掃雷小游戲的示例代碼

    這篇文中主要為大家詳細(xì)介紹了如何利用C語(yǔ)言實(shí)現(xiàn)經(jīng)典的掃雷小游戲。掃雷小游戲主要是利用字符數(shù)組、循環(huán)語(yǔ)句和函數(shù)實(shí)現(xiàn),感興趣的小伙伴可以了解一下
    2022-10-10
  • OpenGL實(shí)現(xiàn)3D空間中移動(dòng)圖像

    OpenGL實(shí)現(xiàn)3D空間中移動(dòng)圖像

    這篇文章主要為大家詳細(xì)介紹了OpenGL實(shí)現(xiàn)3D空間中移動(dòng)圖像,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • C++如何去掉字符串首尾的空格

    C++如何去掉字符串首尾的空格

    這篇文章主要介紹了C++如何去掉字符串首尾的空格問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++報(bào)錯(cuò):Segmentation Fault的解決方案

    C++報(bào)錯(cuò):Segmentation Fault的解決方案

    段錯(cuò)誤(Segmentation Fault)是 C++ 編程中常見(jiàn)且令人頭疼的錯(cuò)誤之一,段錯(cuò)誤通常發(fā)生在程序試圖訪問(wèn)未被允許的內(nèi)存區(qū)域時(shí),導(dǎo)致程序崩潰,本文將深入探討段錯(cuò)誤的產(chǎn)生原因、檢測(cè)方法及其預(yù)防和解決方案,需要的朋友可以參考下
    2024-07-07
  • C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)通關(guān)時(shí)間復(fù)雜度和空間復(fù)雜度

    C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)通關(guān)時(shí)間復(fù)雜度和空間復(fù)雜度

    對(duì)于一個(gè)算法,其時(shí)間復(fù)雜度和空間復(fù)雜度往往是相互影響的,當(dāng)追求一個(gè)較好的時(shí)間復(fù)雜度時(shí),可能會(huì)使空間復(fù)雜度的性能變差,即可能導(dǎo)致占用較多的存儲(chǔ)空間,這篇文章主要給大家介紹了關(guān)于C語(yǔ)言時(shí)間復(fù)雜度、空間復(fù)雜度的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • C++實(shí)現(xiàn)區(qū)塊鏈的源碼

    C++實(shí)現(xiàn)區(qū)塊鏈的源碼

    這篇文章主要介紹了C++實(shí)現(xiàn)區(qū)塊鏈的源碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 二叉搜索樹(shù)的插入與刪除(詳細(xì)解析)

    二叉搜索樹(shù)的插入與刪除(詳細(xì)解析)

    添加結(jié)點(diǎn)其實(shí)很容易,我們只需要找到結(jié)點(diǎn)所行對(duì)應(yīng)的位置就可以了,而且沒(méi)有要求是平衡的二叉搜索樹(shù),因此每次添加結(jié)點(diǎn)都是在葉子結(jié)點(diǎn)上操作,不需要修改二叉搜索樹(shù)整體的結(jié)構(gòu)
    2013-09-09
  • C++?string如何獲取文件路徑文件名、文件路徑、文件后綴(兩種方式)

    C++?string如何獲取文件路徑文件名、文件路徑、文件后綴(兩種方式)

    這篇文章主要介紹了C++?string如何獲取文件路徑文件名、文件路徑、文件后綴(兩種方式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-06-06

最新評(píng)論

宽甸| 日照市| 临朐县| 民丰县| 昌江| 平利县| 车致| 民丰县| 海兴县| 天峻县| 台北县| 沙坪坝区| 南京市| 阳曲县| 六枝特区| 望都县| 洛宁县| 手游| 平山县| 璧山县| 岑溪市| 喀喇| 额敏县| 济南市| 扶绥县| 英吉沙县| 垣曲县| 财经| 博客| 石阡县| 汉阴县| 周口市| 南康市| 瓦房店市| 大冶市| 法库县| 拜泉县| 静安区| 松江区| 梁山县| 广平县|