基于C++控制台的职工管理系统

管理系统需求文档

本系统利用C++来实现一个基于多态的职工管理系统,可用于管理公司内所有员工的信息。

公司中有三类职工:普通员工,经理,老板;每个员工对应的信息有: 职工编号、职工姓名、职工岗位和员工职责。

管理系统主要实现的功能如下:

  • 退出管理系统:退出当前系统
  • 添加职工信息:实现批量添加职工的功能,将信息录入文件中,职工信息为:职工编号、职工姓名、职工岗位
  • 显示职工信息:显示公司中所有职工的信息
  • 删除离职职工:按照编号删除指定的职工
  • 修改职工信息:按照编号修改指定的职工的信息
  • 查找职工信息:按照职工的编号或者职工的姓名查找对应职工的信息
  • 按照编号排序:按照职工编号排序,可以选择升序或者降序。
  • 清空所有文档:清空文件中记录的所有职工的信息(清空前需要再次确认,防止误删)

开始界面:
在这里插入图片描述
类与类图:

此程序共用到5个类:

  • WorkerManger 职工管理类,主要功能的实现都在此类中
  • Worker 职工类(抽象类),定义职工的基本信息
  • OrdinaryWorker 普通职工类,实现普通职工的特殊职责
  • Manager 经理类,实现经理的特殊职责
  • Boss 老板类,实现老板的特殊职责
WorkerManger int m_workerNum Worker** m_workerArr bool EmptyFile +showMenu() : void +ExitSystem() : void +AddWorker() : void +isRepeat(int, int, Worker**) : bool +isExit(int) : int +save() : void +getNum() : int +initArray() : void +showWorker() : void +modifyWorker() : void +searchWorker() : void +sortWorker() : void +cleanFile() : void «abstract» Worker int m_id string m_name string m_dId +showInfo() OrdinaryWorker +showInfo() : void +OrdinaryWorker(string, int, string) Manger +showInfo() : void +Manger(string, int, string) Boss +showInfo() : void +Boss(string, int, string)

各个功能的实现

为用到面向对象,此系统将职工管理封装成一个WorkerManger类,该类的成员函数实现系统的各项功能(在主函数中创建对象并调用)

0 主函数

//main.cpp
#include <iostream>
#include "WorkerManger.h"
#include "Worker.h"
#include "OrdinaryWorker.h"
#include "Manger.h"
#include "Boss.h"

using namespace std;

int main()
{
   
    WorkerManger wm; //初始化管理对象
    while(1)
    {
   
//        // 测试代码
//        Worker * ow = NULL;
//        ow = new OrdinaryWorker("xx", 1, "普通员工");
//        ow->showInfo();
//        delete ow;
//
//        ow = new Manger("ll", 2, "经理");
//        ow->showInfo();
//        delete ow;
//
//        ow = new Boss("xl", 3, "老板");
//        ow->showInfo();
//        delete ow;
        wm.showMenu();   //显示菜单

        //定义选择变量
        int select;
        cout << "请输入您的选择:";
        cin >> select;

        switch(select)
        {
   
        case 1:
            wm.ExitSystem();
            break;
        case 2:
            wm.AddWorker();
            break;
        case 3:
            wm.showWorker();
            break;
        case 4:
            wm.deleteWorker();
            break;
        case 5:
            wm.modifyWorker();
            break;
        case 6: //查找
            wm.searchWorker();
            break;
        case 7:
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值