1、管理系統需求
職工管理系統可以用來管理公司內所有員工的資訊。
公司中職工分為三類,普通員工、經歷、老闆。
顯示資訊時,需要顯示職工編號,職工姓名、職工崗位,以及職責。
普通員工職責:完成經理交給的任務。
經理職責:完成老闆交給的任務,並下發任務給員工。
老闆職責:管理公司所有事務。
2、建立專案
3、建立管理類
管理類負責的內容如下:
1.與使用者的溝通選單介面
2.對職工增刪改查的操作
3.與檔案的讀寫互動
4、選單功能
功能:與使用者溝通的介面
5、推出功能
在main函式中提供分支選擇,提供每個功能介面
用switch case語句實現
6、建立職工類
職工的分類為:普通員工、經理、老闆
將三種職工抽象到一個類(Worker)中,利用多型管理不同職工種類
職工的屬性為:職工編號,職工姓名,職工所在部門編號
職工的行為:崗位職責描述,獲取崗位名稱
1.建立抽象職工類
2.建立普通員工類
普通員工類繼承抽象職工類,並重寫父類中的純虛擬函式,才能例項化物件
3.建立經理類
經理類繼承抽象職工類,並重寫父類中的純虛擬函式,和普通員工類似
4.建立老闆類
老闆類繼承抽象職工類,並重寫父類中的純虛擬函式,和普通員工類似
7、新增職工
功能描述:批次新增職工,並且儲存到檔案中。
1.功能分析
使用者在批次建立時,可能會建立不同種類的職工。
如果想將所有不同種類的員工都放到一個陣列中,可以將所有員工的指標維護到一個陣列裡。
如果想在程式中維護這個不定長的陣列,可以將陣列建立到堆區,並利用Worker** 的指標維護。
worker** 是一個二級指標。
8、檔案互動-寫檔案
功能描述:對檔案進行讀寫
在上一個新增功能中,我們只是將所有的資料新增到了記憶體中,一旦程式結束就無法儲存了。
因此檔案管理類中需要一個與檔案進行互動的功能,對檔案進行讀寫操作。
9、檔案互動-讀檔案
功能描述:將檔案中的內容讀到程式中
雖然我們實現了新增職工後儲存到檔案的操作,但是每次開始執行程式,並沒有將檔案中資料讀取到程式中。
而我們的程式功能中還有清空的需求。
因此建構函式初始化資料的情況分為三種。‘
1.第一次使用,檔案未建立。
2.檔案存在,但是資料被使用者清空。
3.檔案存在,並且儲存職工的所有資料。
10、顯示職工
功能描述:顯示當前所有職工資訊。
11、刪除職工
功能描述:安裝職工的編號進行刪除職工操作。
12、修改職工
功能描述:能夠按照職工的編號對職工資訊進行修改並儲存
13、查詢職工
功能描述:提供兩種查詢職工的方式,一種是按照職工編號,一種是按照職工姓名
14、排序
功能描述:按照職工編號進行排序,排序的順序由使用者指定
15、清空檔案
1.判斷程式內部維護的陣列指標,如果它不為空,我們需要先把它內部維護的堆區的每一個物件釋放乾淨。
2.透過迴圈判斷每一個物件是否存在
3.如果物件不為空,先把物件釋放
4.再把堆區維護的陣列釋放
這個專案的整體框架思路?
注意
1、這個專案的目的在哪?
2、專案的難點在哪?
3、專案都用到了哪些技術?
4、如果讓自己在不看提示的情境中寫出來?