基於多型的職工管理系統(13)------查詢職工
阿新 • • 發佈:2021-06-24
功能描述:提供兩種查詢職工方式,一種按照職工編號,一種按照職工姓名
13.1 查詢職工函式宣告
在workerManager.h中新增成員函式 void Find_Emp();
//查詢職工 void Find_Emp();
在workerManager.cpp中實現成員函式 void Find_Emp();
//查詢職工 void WorkerManager::Find_Emp() { if (this->m_FileIsEmpty) { cout << "檔案不存在或記錄為空!" << endl; }else { cout << "請輸入查詢的方式:" << endl; cout << "1、按職工編號查詢" << endl; cout << "2、按姓名查詢" << endl; int select = 0; cin >> select; if (select == 1) //按職工號查詢 { int id; cout << "請輸入查詢的職工編號:" << endl; cin >> id; int ret = IsExist(id); if (ret != -1) { cout << "查詢成功!該職工資訊如下:" << endl; this->m_EmpArray[ret]->showInfo(); } else { cout<< "查詢失敗,查無此人" << endl; } } else if(select == 2) //按姓名查詢 { string name; cout << "請輸入查詢的姓名:" << endl; cin >> name; bool flag = false; //查詢到的標誌 for (int i = 0; i < m_EmpNum; i++) { if (m_EmpArray[i]->m_Name == name) { cout << "查詢成功,職工編號為:" << m_EmpArray[i]->m_Id << " 號的資訊如下:" << endl; flag = true; this->m_EmpArray[i]->showInfo(); } } if (flag == false) { //查無此人 cout << "查詢失敗,查無此人" << endl; } } else { cout << "輸入選項有誤" << endl; } } system("pause"); system("cls"); }
在main函式分支 5 選項中,呼叫查詢職工介面
測試1 - 按照職工編號查詢 - 查詢不存在職工
測試2 - 按照職工編號查詢 - 查詢存在職工
測試3 - 按照職工姓名查詢 - 查詢不存在職工
測試4 - 按照職工姓名查詢 - 查詢存在職工(如果出現重名,也一併顯示,在檔案中可以新增重名職工)
至此,查詢職工功能實現完畢!