簡單的員工管理系統課程設計_第1頁
簡單的員工管理系統課程設計_第2頁
簡單的員工管理系統課程設計_第3頁
簡單的員工管理系統課程設計_第4頁
簡單的員工管理系統課程設計_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、淮 海 工 學 院 計算機工程學院課程設計報告數據結構課程設計報告第 1 頁,共頁1課程設計目的 5 于數據結構課程設計報告第 2 頁,共頁3課程設計說明書職工管理系統是一個工作單位不可缺少的管理工具,它管理的數據對于公司的決策者和管理者來說都至關重要,所以職工管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來各個公司基本上都是靠傳統的人工方式來管理職工信息,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于信息的查找、更新和維護都帶來了不少的困難。職工管理系統作為一種管理軟件正在各公司中得到越來越廣泛的應用,且已達到了良好效果。(1)

2、新增一名職工:將新增職工對象按姓名以字典方式職工管理文件中。(2)刪除一名職工:從職工管理文件中刪除一名職工對象。(3)查詢:從職工管理文件中查詢符合某些條件的職工。(4)修改:檢索某個職工對象,對其某些屬性進行修改。(5)排序:按某種需要對職工對象文件進行排序。(1)由鍵盤輸入職工對象,以文件方式保存。程序執行時先將文件讀入內存。(2)對職工對象中的“工資”按字典順序進行排序。1、輸入功能的實現:要想實現職工管理系統的輸入,必須要建立一個職工信息系統的抽象數據類型,其中職工信息以鏈表的存儲方式實現。由鍵盤輸入職工對象,以文件方式保存。程序執行時先將文件讀入內存。2、系統處理功能的實現:系統管

3、理員根據公司的人員流動情況,在提示信息的提示下,選擇相應的服務進行操作。如對職工對象中的工資按字典順序進行排序;對排序后的職工對象進行增、刪、查詢、修改、排序等操作。3、輸出的實現:根據選擇的操作,輸出與之對應的信息。綜上可以繪制出職工管理功能的系統流程圖,如圖1所示數據結構課程設計報告4.系統功能結構第 3 頁,共頁模塊:職工信息添加模塊、職工信息修改模塊、職工信息刪除模塊、職工信息查詢模塊、職工信息排序模塊。其系統功能結構如圖2所示。注冊職工查詢信息信息處理修改信息刪除信息信代碼查詢工姓名查詢職資查詢圖2Head)數據結構課程設計報告三 詳細設計第 4 頁,共頁struct Employe

4、e* Next;typedef struct Employee Node;typedef Node* Link;了友好的界面設計。系統需要輸入職工的基本信息:姓名、性別、出生年月、工作年月、學歷、職務、工資等。這個系統還利用鍵盤輸入提供的主菜單服務,在主菜單中,有八種操作的調用:主函數程序流程圖如圖4所示:數據結構課程設計報告第 5 頁,共頁示圖 數據結構課程設計報告第 6 頁,共頁這些查詢操作分別為:對姓名進行查詢,對性別進行查詢,對出生年月進行查詢,對學歷進行查詢,對職位進行查詢,對工資進行查詢等一些列操作。查找算法中,利用鏈表的指針的移動掃描整個職工信息表,利用 strcmp()函數判斷

5、字符串是否匹配。數據結構課程設計報告第 7 頁,共頁 工52數據結構課程設計報告第 8 頁,共頁在刪除算法中,職工管理系統提供操作,實現了系統的人性化刪除操作。提示對姓名進行輸入,對性別進行輸入,等一些列操作。查找算法中,利用鏈表的指針的移動掃描整個職工信息表,如果存在,則刪除該職工信息,如果不存在,則提示輸入信息錯誤。數據結構課程設計報告第 9 頁,共頁測試是使用人工或者自動手段來運行或測試某個系統的過程 ,其目的在于檢驗是否滿足規定的需求或弄清預期結果與實際結果之間的差別。最后發現查找的結點不正確,查詢應該與輸入的值和頭結點 next 比較,而不是頭結點。還有就是查詢結點不知道如何循環,最

6、后又看看了記得筆記和書,才知道如何繼續查找而不出錯誤。修改時總是不能正確的修改,最初時修改總是修改最后輸入的數據。最后終于找到了,又是結點寫錯了。排序時注意交換的先后順序就可以了,刪除時注意交換結點的順序。 經驗與體會:本次課程設計是圍繞數據結構進行。根據問題描述可知,需要解決問題并不復雜,整個問題只需要實現一個職工管理系統功能,那就是在這個系統中實現對職工信息的插入、刪除、查詢、排序、修改以及保存。但是,為了實現該功能,卻需要優秀的算法和數據結構以保證實現的時間和空間效率。把職工信息存儲在一個單鏈表中,利用指針實現對職工信息的各項基本操作。雖然設計的程序完成了題目描述所需要實現的功能,但是仍

7、然存在不如人意的地方。那就是可以排序上面多設計幾個算法。實現多角度排序。在這個系統中沒有職工序號的信息,所以允許職工姓名相同,在很大程度上面,可能是的職工信息重復。數據結構課程設計報告第 10 頁,共頁經過這次數據結構課程設計,我們不僅及時鞏固的了數據結構、算法、以及軟件工程的知識,并明白數據結構和算法對于程序時間和空間性能的影響,及軟件工程提供的開發流程和工具對于實現特定功能程序的重要意義。當我們面對一個實際問題,應該迅速根據問題性質和特點抽象成特定的數據結構,當然每個問題都有可能能夠抽象成多種數據結構,每種數據結構適應于不同的算法。因此應該綜合考慮這樣的數據結構、算法以及它們的空間和時間效

8、率,然后從中選擇一個作為實現程序的基礎。此外,對程序的測試應該要仔細,根據模塊的特點和測試階段,采用各種軟件測試方法對程序進行測試,確保各個模塊的正確性和完整性,最后集成起來測試其是否正確和完整地實現了問題描述中要求的功能。選擇 1、請輸入注冊職工:按次序依次輸入職工的姓名、性別、出生年月、學歷、職務、自動回到主界面。選擇 2,提示修改信息的代碼、姓名,成功正確返回,錯誤有提示無此員工信息;選擇 3,提示刪除信息方式:成功正確返回,錯誤有提示無此員工信息;選擇 4,信息查詢,顯示統計的數據;選擇 6. 按工資進行排序,進行輸出排序后的數據;選擇 7.信息顯示;(1)進入職工管理系統七 附錄(源

9、程序清單)原理、方法與應用數據結構課程設計報告5第 15 頁,共頁typedef struct Employee Node;typedef Node* Link;/-函數聲明-Link Create(Link Head);void Release(Link Head);Link Add(Link Head);數據結構課程設計報告第 16 頁,共頁cout分配內存失敗!endl;return NULL;void Release(Link Head)/釋放鏈表。數據結構課程設計報告第 17 頁,共頁delete ptr;/釋放節點資源。Link Add(Link Head)/前插法添加數據。Lin

10、k pNew;/ 聲明一個新節點。char again;coutendlname;fflush(stdin);數據結構課程設計報告第 18 頁,共頁coutendlsex;coutendlpost;coutendldepartment;coutendlwage;while(again=Y|again=y);數據結構課程設計報告第 19 頁,共頁coutendl-查詢結果-endl;Link Search_Unique_Front(Link Head)Link ptr;數據結構課程設計報告第 20 頁,共頁coutendl-查詢結果-endl;cout=所有職工信息=endl;姓名 出生年份 性

11、別void Display_Node(Link pNode)/在標準輸出設備上輸出。數據結構課程設計報告coutsetw(10)leftm_Codesetw(10)leftm_Namesetw(10)leftm_Yearsetw(10)leftm_Sex第 21 頁,共頁職稱coutendl請輸入職工姓名:;cout請輸入正確的年份格式。endl;cin.clear();數據結構課程設計報告第 22 頁,共頁coutendl請輸入職工性別:;coutendl請輸入職工職稱:;coutendl請輸入職工部門:;coutendlNext-m_Code=code;/因ptr是前趨節點,所以要用ptr

12、-Next;數據結構課程設計報告第 23 頁,共頁ptr_front-Next=ptr-Next;setw(10)leftm_WageNext;數據結構課程設計報告第 24 頁,共頁ptr=Head-Next-Next;ptr_F=Head;/ptr_F的歸位。數據結構課程設計報告第 25 頁,共頁/while(ptr_F-Next)if(ptr_F-Next=NULL)iofile.open(d:iofile.txt,ios_base:in|ios_base:out|ios_base:app);/文件以三種方式打開。cout打開文件失敗!endl;return -1;數據結構課程設計報告第

13、26 頁,共頁switch(menu)數據結構課程設計報告第 27 頁,共頁cout成功退出系統!endl;cout請選擇正確的菜單項進行操作。多謝合作!endl;Release(Head);iofile.close();數據結構課程設計報告第 28 頁,共頁4.課程設計心得數據結構課程設計報告第 29 頁,共頁本次課程設計的一切實現和代碼都是圍繞數據結構進行設計的操作的。根據問題的那就是在這個系統中實現對職工信息的插入、刪除、查詢、排序、修改以及保存。但是,為了實現該功能,卻需要優秀的算法和以數據結構為核心思想作為框架,以保證實現的時間最優化和空間的最大利用化。把職工信息存儲在一個單鏈表中,

14、利用指針實現對職工信息的各項簡單的操作。程序在長久的修改和上網查詢借鑒的情況下最終完成了題目描述所需要實現的功能,但仍有我認為不足的問題,還有需要改進的地方,就是還可以在排序上面多設計幾個算法,實現多方位的排序。我發現在這個系統中沒有職工序號或者是工作序號之類的信息,所以允許職工姓名相同,在很大程度上面,可能會出現職工信息有所重復,值得思考和改進并且實現最佳功能。經過這次數據結構課程設計,我們不僅再一次的鞏固了我對數據結構、算法、以及軟件工程的知識的了解,并更加的明白了數據結構和算法對于程序時間和空間性能的極我們面對一個最現實的問題的時候,應該迅速根據問題性質和特點抽象構成特定的數據結構,用計算機的思維方式來看待,每個問題都有可能能夠抽象成多種數據結構,每種數據結構也有可能適應不同的算法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論