C++实现职工管理系统
本文实例为大家分享了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 ("老板"); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
赞 (0)