




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、淮 海 工 學(xué) 院 計(jì)算機(jī)工程學(xué)院課程設(shè)計(jì)報(bào)告數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 1 頁,共頁1課程設(shè)計(jì)目的 5 于數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 2 頁,共頁3課程設(shè)計(jì)說明書職工管理系統(tǒng)是一個(gè)工作單位不可缺少的管理工具,它管理的數(shù)據(jù)對(duì)于公司的決策者和管理者來說都至關(guān)重要,所以職工管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠砀鱾€(gè)公司基本上都是靠傳統(tǒng)的人工方式來管理職工信息,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于信息的查找、更新和維護(hù)都帶來了不少的困難。職工管理系統(tǒng)作為一種管理軟件正在各公司中得到越來越廣泛的應(yīng)用,且已達(dá)到了良好效果。(1)
2、新增一名職工:將新增職工對(duì)象按姓名以字典方式職工管理文件中。(2)刪除一名職工:從職工管理文件中刪除一名職工對(duì)象。(3)查詢:從職工管理文件中查詢符合某些條件的職工。(4)修改:檢索某個(gè)職工對(duì)象,對(duì)其某些屬性進(jìn)行修改。(5)排序:按某種需要對(duì)職工對(duì)象文件進(jìn)行排序。(1)由鍵盤輸入職工對(duì)象,以文件方式保存。程序執(zhí)行時(shí)先將文件讀入內(nèi)存。(2)對(duì)職工對(duì)象中的“工資”按字典順序進(jìn)行排序。1、輸入功能的實(shí)現(xiàn):要想實(shí)現(xiàn)職工管理系統(tǒng)的輸入,必須要建立一個(gè)職工信息系統(tǒng)的抽象數(shù)據(jù)類型,其中職工信息以鏈表的存儲(chǔ)方式實(shí)現(xiàn)。由鍵盤輸入職工對(duì)象,以文件方式保存。程序執(zhí)行時(shí)先將文件讀入內(nèi)存。2、系統(tǒng)處理功能的實(shí)現(xiàn):系統(tǒng)管
3、理員根據(jù)公司的人員流動(dòng)情況,在提示信息的提示下,選擇相應(yīng)的服務(wù)進(jìn)行操作。如對(duì)職工對(duì)象中的工資按字典順序進(jìn)行排序;對(duì)排序后的職工對(duì)象進(jìn)行增、刪、查詢、修改、排序等操作。3、輸出的實(shí)現(xiàn):根據(jù)選擇的操作,輸出與之對(duì)應(yīng)的信息。綜上可以繪制出職工管理功能的系統(tǒng)流程圖,如圖1所示數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告4.系統(tǒng)功能結(jié)構(gòu)第 3 頁,共頁模塊:職工信息添加模塊、職工信息修改模塊、職工信息刪除模塊、職工信息查詢模塊、職工信息排序模塊。其系統(tǒng)功能結(jié)構(gòu)如圖2所示。注冊(cè)職工查詢信息信息處理修改信息刪除信息信代碼查詢工姓名查詢職資查詢圖2Head)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告三 詳細(xì)設(shè)計(jì)第 4 頁,共頁struct Employe
4、e* Next;typedef struct Employee Node;typedef Node* Link;了友好的界面設(shè)計(jì)。系統(tǒng)需要輸入職工的基本信息:姓名、性別、出生年月、工作年月、學(xué)歷、職務(wù)、工資等。這個(gè)系統(tǒng)還利用鍵盤輸入提供的主菜單服務(wù),在主菜單中,有八種操作的調(diào)用:主函數(shù)程序流程圖如圖4所示:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 5 頁,共頁示圖 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 6 頁,共頁這些查詢操作分別為:對(duì)姓名進(jìn)行查詢,對(duì)性別進(jìn)行查詢,對(duì)出生年月進(jìn)行查詢,對(duì)學(xué)歷進(jìn)行查詢,對(duì)職位進(jìn)行查詢,對(duì)工資進(jìn)行查詢等一些列操作。查找算法中,利用鏈表的指針的移動(dòng)掃描整個(gè)職工信息表,利用 strcmp()函數(shù)判斷
5、字符串是否匹配。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 7 頁,共頁 工52數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 8 頁,共頁在刪除算法中,職工管理系統(tǒng)提供操作,實(shí)現(xiàn)了系統(tǒng)的人性化刪除操作。提示對(duì)姓名進(jìn)行輸入,對(duì)性別進(jìn)行輸入,等一些列操作。查找算法中,利用鏈表的指針的移動(dòng)掃描整個(gè)職工信息表,如果存在,則刪除該職工信息,如果不存在,則提示輸入信息錯(cuò)誤。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 9 頁,共頁測(cè)試是使用人工或者自動(dòng)手段來運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過程 ,其目的在于檢驗(yàn)是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。最后發(fā)現(xiàn)查找的結(jié)點(diǎn)不正確,查詢應(yīng)該與輸入的值和頭結(jié)點(diǎn) next 比較,而不是頭結(jié)點(diǎn)。還有就是查詢結(jié)點(diǎn)不知道如何循環(huán),最
6、后又看看了記得筆記和書,才知道如何繼續(xù)查找而不出錯(cuò)誤。修改時(shí)總是不能正確的修改,最初時(shí)修改總是修改最后輸入的數(shù)據(jù)。最后終于找到了,又是結(jié)點(diǎn)寫錯(cuò)了。排序時(shí)注意交換的先后順序就可以了,刪除時(shí)注意交換結(jié)點(diǎn)的順序。 經(jīng)驗(yàn)與體會(huì):本次課程設(shè)計(jì)是圍繞數(shù)據(jù)結(jié)構(gòu)進(jìn)行。根據(jù)問題描述可知,需要解決問題并不復(fù)雜,整個(gè)問題只需要實(shí)現(xiàn)一個(gè)職工管理系統(tǒng)功能,那就是在這個(gè)系統(tǒng)中實(shí)現(xiàn)對(duì)職工信息的插入、刪除、查詢、排序、修改以及保存。但是,為了實(shí)現(xiàn)該功能,卻需要優(yōu)秀的算法和數(shù)據(jù)結(jié)構(gòu)以保證實(shí)現(xiàn)的時(shí)間和空間效率。把職工信息存儲(chǔ)在一個(gè)單鏈表中,利用指針實(shí)現(xiàn)對(duì)職工信息的各項(xiàng)基本操作。雖然設(shè)計(jì)的程序完成了題目描述所需要實(shí)現(xiàn)的功能,但是仍
7、然存在不如人意的地方。那就是可以排序上面多設(shè)計(jì)幾個(gè)算法。實(shí)現(xiàn)多角度排序。在這個(gè)系統(tǒng)中沒有職工序號(hào)的信息,所以允許職工姓名相同,在很大程度上面,可能是的職工信息重復(fù)。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 10 頁,共頁經(jīng)過這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),我們不僅及時(shí)鞏固的了數(shù)據(jù)結(jié)構(gòu)、算法、以及軟件工程的知識(shí),并明白數(shù)據(jù)結(jié)構(gòu)和算法對(duì)于程序時(shí)間和空間性能的影響,及軟件工程提供的開發(fā)流程和工具對(duì)于實(shí)現(xiàn)特定功能程序的重要意義。當(dāng)我們面對(duì)一個(gè)實(shí)際問題,應(yīng)該迅速根據(jù)問題性質(zhì)和特點(diǎn)抽象成特定的數(shù)據(jù)結(jié)構(gòu),當(dāng)然每個(gè)問題都有可能能夠抽象成多種數(shù)據(jù)結(jié)構(gòu),每種數(shù)據(jù)結(jié)構(gòu)適應(yīng)于不同的算法。因此應(yīng)該綜合考慮這樣的數(shù)據(jù)結(jié)構(gòu)、算法以及它們的空間和時(shí)間效
8、率,然后從中選擇一個(gè)作為實(shí)現(xiàn)程序的基礎(chǔ)。此外,對(duì)程序的測(cè)試應(yīng)該要仔細(xì),根據(jù)模塊的特點(diǎn)和測(cè)試階段,采用各種軟件測(cè)試方法對(duì)程序進(jìn)行測(cè)試,確保各個(gè)模塊的正確性和完整性,最后集成起來測(cè)試其是否正確和完整地實(shí)現(xiàn)了問題描述中要求的功能。選擇 1、請(qǐng)輸入注冊(cè)職工:按次序依次輸入職工的姓名、性別、出生年月、學(xué)歷、職務(wù)、自動(dòng)回到主界面。選擇 2,提示修改信息的代碼、姓名,成功正確返回,錯(cuò)誤有提示無此員工信息;選擇 3,提示刪除信息方式:成功正確返回,錯(cuò)誤有提示無此員工信息;選擇 4,信息查詢,顯示統(tǒng)計(jì)的數(shù)據(jù);選擇 6. 按工資進(jìn)行排序,進(jìn)行輸出排序后的數(shù)據(jù);選擇 7.信息顯示;(1)進(jìn)入職工管理系統(tǒng)七 附錄(源
9、程序清單)原理、方法與應(yīng)用數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告5第 15 頁,共頁typedef struct Employee Node;typedef Node* Link;/-函數(shù)聲明-Link Create(Link Head);void Release(Link Head);Link Add(Link Head);數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 16 頁,共頁cout分配內(nèi)存失敗!endl;return NULL;void Release(Link Head)/釋放鏈表。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 17 頁,共頁delete ptr;/釋放節(jié)點(diǎn)資源。Link Add(Link Head)/前插法添加數(shù)據(jù)。Lin
10、k pNew;/ 聲明一個(gè)新節(jié)點(diǎn)。char again;coutendlname;fflush(stdin);數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 18 頁,共頁coutendlsex;coutendlpost;coutendldepartment;coutendlwage;while(again=Y|again=y);數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 19 頁,共頁coutendl-查詢結(jié)果-endl;Link Search_Unique_Front(Link Head)Link ptr;數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 20 頁,共頁coutendl-查詢結(jié)果-endl;cout=所有職工信息=endl;姓名 出生年份 性
11、別void Display_Node(Link pNode)/在標(biāo)準(zhǔn)輸出設(shè)備上輸出。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告coutsetw(10)leftm_Codesetw(10)leftm_Namesetw(10)leftm_Yearsetw(10)leftm_Sex第 21 頁,共頁職稱coutendl請(qǐng)輸入職工姓名:;cout請(qǐng)輸入正確的年份格式。endl;cin.clear();數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 22 頁,共頁coutendl請(qǐng)輸入職工性別:;coutendl請(qǐng)輸入職工職稱:;coutendl請(qǐng)輸入職工部門:;coutendlNext-m_Code=code;/因ptr是前趨節(jié)點(diǎn),所以要用ptr
12、-Next;數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 23 頁,共頁ptr_front-Next=ptr-Next;setw(10)leftm_WageNext;數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 24 頁,共頁ptr=Head-Next-Next;ptr_F=Head;/ptr_F的歸位。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 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打開文件失?。ndl;return -1;數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第
13、26 頁,共頁switch(menu)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 27 頁,共頁cout成功退出系統(tǒng)!endl;cout請(qǐng)選擇正確的菜單項(xiàng)進(jìn)行操作。多謝合作!endl;Release(Head);iofile.close();數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 28 頁,共頁4.課程設(shè)計(jì)心得數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告第 29 頁,共頁本次課程設(shè)計(jì)的一切實(shí)現(xiàn)和代碼都是圍繞數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì)的操作的。根據(jù)問題的那就是在這個(gè)系統(tǒng)中實(shí)現(xiàn)對(duì)職工信息的插入、刪除、查詢、排序、修改以及保存。但是,為了實(shí)現(xiàn)該功能,卻需要優(yōu)秀的算法和以數(shù)據(jù)結(jié)構(gòu)為核心思想作為框架,以保證實(shí)現(xiàn)的時(shí)間最優(yōu)化和空間的最大利用化。把職工信息存儲(chǔ)在一個(gè)單鏈表中,
14、利用指針實(shí)現(xiàn)對(duì)職工信息的各項(xiàng)簡單的操作。程序在長久的修改和上網(wǎng)查詢借鑒的情況下最終完成了題目描述所需要實(shí)現(xiàn)的功能,但仍有我認(rèn)為不足的問題,還有需要改進(jìn)的地方,就是還可以在排序上面多設(shè)計(jì)幾個(gè)算法,實(shí)現(xiàn)多方位的排序。我發(fā)現(xiàn)在這個(gè)系統(tǒng)中沒有職工序號(hào)或者是工作序號(hào)之類的信息,所以允許職工姓名相同,在很大程度上面,可能會(huì)出現(xiàn)職工信息有所重復(fù),值得思考和改進(jìn)并且實(shí)現(xiàn)最佳功能。經(jīng)過這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),我們不僅再一次的鞏固了我對(duì)數(shù)據(jù)結(jié)構(gòu)、算法、以及軟件工程的知識(shí)的了解,并更加的明白了數(shù)據(jù)結(jié)構(gòu)和算法對(duì)于程序時(shí)間和空間性能的極我們面對(duì)一個(gè)最現(xiàn)實(shí)的問題的時(shí)候,應(yīng)該迅速根據(jù)問題性質(zhì)和特點(diǎn)抽象構(gòu)成特定的數(shù)據(jù)結(jié)構(gòu),用計(jì)算機(jī)的思維方式來看待,每個(gè)問題都有可能能夠抽象成多種數(shù)據(jù)結(jié)構(gòu),每種數(shù)據(jù)結(jié)構(gòu)也有可能適應(yīng)不同的算法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市軌道交通工程承包保證金合同模板
- 采煤工程承包與礦山生態(tài)修復(fù)協(xié)議
- 高科技廠房租賃及運(yùn)營管理服務(wù)協(xié)議
- 2025年3月宿遷市藍(lán)天救援志愿服務(wù)隊(duì)工作簡報(bào)
- 鋼筋安裝交底技術(shù)
- 中小學(xué)生網(wǎng)絡(luò)道德教育
- 干熄焦車間級(jí)培訓(xùn)教材
- 藥師技能培訓(xùn)課件
- 消防宣傳教育培訓(xùn)能力
- 中小學(xué)心理健康教育培訓(xùn)心得分享
- DB43∕T 862-2014 保靖黃金茶 毛尖功夫紅茶
- 《論教育》主要篇目課件
- (磁器口中國歷史文化街區(qū)風(fēng)貌保護(hù)修復(fù)提升項(xiàng)目(一標(biāo)段))招標(biāo)文件
- 外研版初中英語九年級(jí)下冊(cè)教案 全冊(cè)
- 租賃轉(zhuǎn)購買設(shè)備協(xié)議
- 精裝修工程主要分項(xiàng)工程施工方案
- 地震災(zāi)害與防震減災(zāi)培訓(xùn)課件
- 機(jī)械制圖-形成性任務(wù)4-國開(ZJ)-參考資料
- 2024年輸配電及用電工程職稱評(píng)審題庫-單選
- 第五章 消費(fèi)金融資產(chǎn)證券化
- 云南省紅河市2025屆數(shù)學(xué)高一上期末統(tǒng)考試題含解析
評(píng)論
0/150
提交評(píng)論