码迷,mamicode.com
首页 > 其他好文 > 详细

基于多态的职工管理系统(11)------删除职工

时间:2021-06-24 18:37:30      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:查看   exist   说明   信息   pair   _id   测试   inf   img   

11、删除职工

功能描述:按照职工的编号进行删除职工操作

 

11.1 删除职工函数声明

在workerManager.h中添加成员函数 void Del_Emp();

//删除职工
    void Del_Emp();

11.2 职工是否存在函数声明

很多功能都需要用到根据职工是否存在来进行操作如:删除职工、修改职工、查找职工

因此添加该公告函数,以便后续调用

在workerManager.h中添加成员函数 int IsExist(int id);

    //按照职工编号判断职工是否存在,若存在返回职工在数组中位置,不存在返回-1
    int IsExist(int id);

11.3 职工是否存在函数实现

在workerManager.cpp中实现成员函数 int IsExist(int id);

int WorkerManager::IsExist(int id)
{
    int index = -1;

    for (int i = 0; i < this->m_EmpNum; i++)
    {
        if (this->m_EmpArray[i]->m_Id == id)
        {
            index = i;

            break;
        }
    }

    return index;
}

11.4 删除职工函数实现

在workerManager.cpp中实现成员函数 void Del_Emp();

//删除职工
void WorkerManager::Del_Emp()
{
    if (this->m_FileIsEmpty)
    {
        cout << "文件不存在或记录为空!" << endl;
    }
    else
    {
        //按职工编号删除
        cout << "请输入想要删除的职工号:" << endl;
        int id = 0;
        cin >> id;

        int index = this->IsExist(id);

        if (index != -1)  //说明index上位置数据需要删除
        {
            for (int i = index; i < this->m_EmpNum - 1; i++)
            {
                this->m_EmpArray[i] = this->m_EmpArray[i + 1];
            }
            this->m_EmpNum--;

            this->save(); //删除后数据同步到文件中
            cout << "删除成功!" << endl;
        }
        else
        {
            cout << "删除失败,未找到该职工" << endl;
        }
    }
    
    system("pause");
    system("cls");
}

11.5 测试删除职工

在main函数分支 3 选项中,调用删除职工接口

技术图片

测试1 - 删除不存在职工情况

技术图片

测试2 - 删除存在的职工情况

删除成功提示图:

技术图片

 

再次显示所有职工信息,确保已经删除

技术图片

查看文件中信息,再次核实员工已被完全删除

技术图片

至此,删除职工功能实现完毕!

基于多态的职工管理系统(11)------删除职工

标签:查看   exist   说明   信息   pair   _id   测试   inf   img   

原文地址:https://www.cnblogs.com/Chot/p/14927284.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!