职工管理系统----删除职工

在.h文件中增加两个函数

    //判断职工是否存在,如果存在返回职工所在数组中的位置,不存在返回-1
    int Isexist(int id);

    //删除职工
    void del_Emp();

.cpp文件进行实现该方法

//判断职工是否存在
int workManager::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;
}
//删除职工
void workManager::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");
    }

}

 

posted @ 2021-04-07 16:24  云小道  阅读(189)  评论(0编辑  收藏  举报