1. 程式人生 > 其它 >基於多型的職工管理系統(13)------查詢職工

基於多型的職工管理系統(13)------查詢職工

13、查詢職工

功能描述:提供兩種查詢職工方式,一種按照職工編號,一種按照職工姓名

13.1 查詢職工函式宣告

在workerManager.h中新增成員函式 void Find_Emp();

//查詢職工
    void Find_Emp();

13.2 查詢職工函式實現

在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"); }

13.3 測試查詢職工

在main函式分支 5 選項中,呼叫查詢職工介面

測試1 - 按照職工編號查詢 - 查詢不存在職工

測試2 - 按照職工編號查詢 - 查詢存在職工

測試3 - 按照職工姓名查詢 - 查詢不存在職工

測試4 - 按照職工姓名查詢 - 查詢存在職工(如果出現重名,也一併顯示,在檔案中可以新增重名職工)

例如 新增兩個王五的職工,然後按照姓名查詢王五

至此,查詢職工功能實現完畢!