0
点赞
收藏
分享

微信扫一扫

C++ 52.基于多态的职工管理系统(8)——查找职工功能

陆公子521 2022-04-01 阅读 75

修改职工
功能描述:能够按照职工的编号对职工信息进行修改并保存
1.修改职工函数声明
在workerManager.h中添加成员函数

//修改职工
	void Mod_Emp();

2.修改职工函数实现
在workerManager.cpp中实现成员函数

//修改职工
void WorkerManager::Mod_Emp()
{
	if (this->m_FileIsEmpty)
	{
		cout << "文件不存在或记录为空!" << endl;
	}
	else
	{
		cout << "请输入修改职工的编号:" << endl;
		int id;
		cin >> id;

		int ret = this->IsExist(id);
		if (ret != -1)
		{
			//查找到编号的职工
			delete this->m_EmpArray[ret];

			int newId = 0;
			string newName = "";
			int dSelect = 0;

			cout << "查到:" << id << " 号职工,请输入新职工号" << endl;
			cin >> newId;

			cout << "请输入新姓名:" << endl;
			cin >> newName;

			cout << "请输入岗位:" << endl;
			cout << "1.普通员工" << endl;
			cout << "2.经理" << endl; 
			cout << "3.老板" << endl;
			cin >> dSelect;

			Worker *worker = NULL;
			switch(dSelect)
			{
			case1:
				worker = new Employee(newId, newName, dSelect);
				break;
			case2:
				worker = new Manager(newId, newName, dSelect);
				break;
			case3:
				worker = new Boss(newId, newName, dSelect);
				break;
			default:
				break;
			}

			//更改数据,到数组中
			this->m_EmpArray[ret] = worker;
			cout << "" << this->m_EmpArray[ret]->m_DeptID << endl;

			//保存到文件中
			this->save();
		}
		else
		{
			cout << "修改失败,查无此人" << endl;
		}

		//按任意键清屏
		system("pause");
		system("cls");
	}
}
case 4:  //修改员工
			wm.Mod_Emp();
			break;
举报

相关推荐

0 条评论