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)

相关推荐

  • C++实现简单的职工管理系统实训代码

    本文实例为大家分享了C++职工管理系统实例代码 1.单个职工的头文件 staff.h #ifndef STAFF_H_INCLUDED #define STAFF_H_INCLUDED //结构体创建 struct staff { char ID[10]; char name[10]; char sex[10]; int pay; int reward; int factpay; }; //自定义结构体 typedef struct staff staff; //单个职工信息创建 staff C

  • C++实现企业职工工资管理系统

    课程设计目的和要求 工资管理要和人事管理相联系,生成企业每个职工的实际发放工资. 企业职工人事基本信息包括:职工编号.姓名.性别.出生日期.职称(助工.工程师.高级工程师)和任职年限. 企业职工工资信息包括:职工编号.姓名.职务工资.职务补贴.住房补贴.应发工资.个人所得税.养老保险.住房公积金和实发工资. 系统主要功能包括: (1)创建职工人事基本信息文件,根据提示输入职工的各项信息,按职工编号对职工信息进行排序,并将排序后的职工信息存储到一个文件中. (2)创建职工的工资信息文件(每个月创建

  • C++实现简单的职工信息管理系统

    功能主模块描述 模块一:增加人员函数Add():增加职工基本信息. 模块二:删除人员函数Delete():删除指定的职工的基本信息以及薪酬. 模块三:修改人员函数Modify():修改指定的职工基本信息. 模块四:查询职工信息函数Search():查询指定的职工信息以及薪酬. 模块五:排序职工信息函数Sort():职工信息排序功能实现 模块六:基础数据设置函数Set():设置五类职位的基本薪酬. 模块七:数据存盘,载入函数Save()以及Load():储存职工基本信息,薪酬以及五类职位的基本薪酬

  • C++利用多态实现职工管理系统(项目开发)

    分析 首先看一下这个项目的文件: 主要分为两部分: 主体部分: main.cpp和workManager.h,workManager.cpp职工部分(这里采用多态的方式编写): 主要是worker.h和worker.cpp 三种职位:boss,employee,manager 经过分析是否大概知道了其中各部分的意思呢? 看起来这里面有很多,但是正是这种多个文件编写才时代码更加简洁. 所以在正式写项目之前一定要先考虑好整体架构,在进行编写. 项目整体架构: 这个项目的难度并不大,主要是要学会这个项

  • C语言实现职工管理系统

    小编找到了一个特别好的职工管理系统,分享给大家一份C语言职工管理系统的具体实现代码,供大家参考,也谢谢这位网友的分享,具体内容如下 person.cpp #include "person.h" //首页 int Print_Head(int * num) { printf("\t***********************************************\n"); printf("\t| 职工管理系统 |\n"); printf

  • C++实现简单职工管理系统

    本文实例为大家分享了C++职工管理系统实例代码,供大家参考,具体内容如下 1.单个职工的头文件 staff.h #ifndef STAFF_H_INCLUDED #define STAFF_H_INCLUDED //结构体创建 struct staff { char ID[10]; char name[10]; char sex[10]; int pay; int reward; int factpay; }; //自定义结构体 typedef struct staff staff; //单个职

  • C++实现职工管理系统

    本文实例为大家分享了C++实现职工管理系统的具体代码,供大家参考,具体内容如下 workermanager.h #pragma once//防止头文件重复包含 #include <iostream> #include "worker.h" using namespace std; #include "boss.h" #include "employee.h" #include "manager.h" #includ

  • 基于C++泛型编程职工管理系统

    目录 一.泛型编程思想 二.单链表是什么? 1.图示 2.链表的节点结构[节点类] 3.链表类 三.泛型编程核心 1.实现数据类 2.实现链表类 四.运行截图 1.主菜单 2.查看信息 3.更换数据类型 4.再次显示所有信息[抛转] 五.源码 前言: 前面介绍到了C++的泛型编程,并实现了万能容器,不过那使用的是数组,今天呢咱带大家实践一下使用泛型技术,结合单链表实现一个职工管理系统.保证大家看完之后有所感悟. 一.泛型编程思想 所谓泛型就是类型不固定,只需修改少量代码就可以扩展为其他类型的应用

  • 基于C++实现职工管理系统

    本文实例为大家分享了C++实现职工管理系统的具体代码,供大家参考,具体内容如下 1.管理系统需求 职工管理系统可以用来管理公司内所有员工的信息 利用C++来实现一个基于多态的职工管理系统 公司中职工分为三类:普通员工.经理.老板,显示信息时,需要显示职工编号.职工姓名.职工岗位.以及职责 普通员工职责:完成经理交给的任务 经理职责:完成老板交给的任务,并下发任务给员工 老板职责:管理公司所有事务 管理系统中需要实现的功能如下: 退出管理程序:退出当前管理系统 增加职工信息:实现批量添加职工功能,

  • 用Python实现职工信息管理系统

    想要实现一个职工管理系统 首先我们看一下想要实现什么功能 最基础的增删改查肯定要实现的 然后增加一下数据显示.数据排序.数据统计功能 下面直接上代码 增加职工数据 # 接收用户收入 id = input('请输入职工号') name = input('请输入姓名') sex = input('请输入性别') age = input('请输入年龄') education = input('请输入学历') address = input('请输入住址') photonumber = input('请

  • linux下C/C++学生信息管理系统

    一.简介 大学期间用vc++开发的简单的学生信息管理系统,主要有添加学生信息.删除学生信息.修改学生信息.查询学生信息.显示学生信息.综合统计(各课程平均成绩和合格率).总分排序和退出系统.设计: 二.详解 1.代码 (1)main.cpp #include<iostream> #include<fstream> #include<iomanip> //使用setw()函数 #include<windows.h> //使用system()函数 #includ

随机推荐