




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄一、前言2二、需求分析3三、概要設(shè)計4四、詳細(xì)設(shè)計5五、調(diào)試分析6六、用戶使用說明7七、測試結(jié)果8八、總結(jié)11九、主要參考文獻(xiàn)和附錄12、兒、4刖百員工管理系統(tǒng)是一個工作單位不可缺少的管理工具,它管理的數(shù)據(jù)對于公司的決策者和管理者來說都至關(guān)重要,所以員工管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來各個公司基本上都是靠傳統(tǒng)的人工方式來管理員工信息,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于信息的查找、更新和維護(hù)都帶來了不少的困難。當(dāng)今社會,信息迅速膨脹,隨著各個公司的規(guī)模增大,有關(guān)信息管理工作所涉及的數(shù)據(jù)量越來越大,員工
2、信息量也大大增加,利用傳統(tǒng)的手工查詢、登記、修改等方法的處理速度遠(yuǎn)遠(yuǎn)跟不上公司的需求,有的公司不得不靠增加人力、物力來進(jìn)行信息管理。隨著計算機技術(shù)的不斷提高,計算機作為知識經(jīng)濟(jì)時代的產(chǎn)物,其強大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個行業(yè)和領(lǐng)域并發(fā)揮著越來越重要的作用,成為人們工作和生活中不可缺少的一部分。而作為計算機應(yīng)用的一部分,使用計算機對員工進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高員工管理的效率,也是公司的科學(xué)化、正規(guī)化管理和與世界接軌的重要條件。員工管理系統(tǒng)作為一種管理軟件正在各公司中
3、得到越來越廣泛的應(yīng)用,且已達(dá)到了良好效果。需求分析員工信息管理系統(tǒng)是企業(yè)管理中的一個重要內(nèi)容,隨著時代的進(jìn)步,企業(yè)也逐漸變得龐大起來。如何管理好企業(yè)內(nèi)部員工的信息,成為企業(yè)管理中的一個大問題。在這種情況下,開發(fā)一個人力資源管理系統(tǒng)就顯得非常必要現(xiàn)在,市場上可以選購的應(yīng)用開發(fā)產(chǎn)品很多,流行的也有數(shù)十種。在目前市場上這些眾多的程序開發(fā)工具中,有些強調(diào)程序語言的彈性與執(zhí)行效率;有些則偏重于可視化程序開發(fā)工具所帶來的便利性與效率的得高,各有各的優(yōu)點和特色,也滿足了不同用戶的需求。然而,語言的彈性和工具的便利性是密不可分的,只強調(diào)程序語言的彈性,卻沒有便利的工具作配合,會使一些即使非常簡單的界面處理動作
4、,也會嚴(yán)重地浪費程序設(shè)計師的寶貴時間;相反,如果只有便利的工具,卻沒有彈性的語言作支持,許多特殊化的處理動作必需要耗費數(shù)倍的工夫來處理,使得原來所標(biāo)榜的效率提高的優(yōu)點失去了作用。本系統(tǒng)結(jié)合公司實際的人事、制度,經(jīng)過實際的需求分析,采用功能強大的VisualC+6.0作為開發(fā)工具而開發(fā)出來的管理系統(tǒng)。整個系統(tǒng)從符合操作簡便、界面友好、靈活、實用、安全的要求出發(fā),本管理系統(tǒng)具有如下功能:1、問題描述對單位的員工進(jìn)行管理,包括插入、刪除、查找、排序等功能。2、要求員工對象包括姓名、性別、年齡、職位、工齡等信息。(1)新增一名員工:將新增員工對象按姓名以字典方式員工管理文件中,基本信息中的編號是按照添
5、加順序自動增加的。(2)刪除一名員工:從員工管理文件中刪除一名員工對象,分為根據(jù)編號刪除、根據(jù)姓名刪除。(3)查詢:從員工管理文件中查詢符合某些條件(編號、姓名)的員工。(4)修改:根據(jù)編號檢索出對象,既可以對整個對象修改,也可對某個屬性修改。(5)排序:按照年齡、工齡對所有的員工排序(降序),也可以回復(fù)排序以前的員工現(xiàn)實狀態(tài)。3、實現(xiàn)提示員工對象數(shù)不必很多,便于一次讀入內(nèi)存,所有操作不經(jīng)過內(nèi)外存交換。(1)當(dāng)啟動程序是,自動從文件(message.txt)中讀出員工信息(2)由鍵盤輸入員工對象存入鏈表當(dāng)中。(3)對員工對象中的"編號、年齡、工齡”按字典順序進(jìn)行排序。(4)對排序后的
6、員工對象進(jìn)行增、刪、查詢、修改、排序等操作。(5)當(dāng)退出程序時,將此刻單鏈表中存儲的數(shù)據(jù)寫入到文件(message.txt)中去,保存起來。概要設(shè)計(一)數(shù)據(jù)類型定義:typedefstructintnum;/編號charnameMAX_NUM;/姓名intage;年齡charjobMAX_NUM;/職位;intworkTime;/工齡People;ypedefstructnodePeoplepeople;structnode*next;intlen;表示鏈表長度linklist;(二)流程圖:退出系統(tǒng)(圖1)(三)各程序模塊之間的層次圖:員工信息排序按姓名查詢(圖2)詳細(xì)設(shè)計1、主菜單模塊:
7、顯示員工管理系統(tǒng)的主菜單,供用戶選擇所需的功能,通過自己定義的voidmain()函數(shù)來實現(xiàn)。2、添加員工模塊:輸入員工的編號、姓名、年齡、職位、工齡以,通過自己定義的voidaddMessage()函數(shù)來實現(xiàn)。3、查詢員工信息模塊:瀏覽所有員工的相關(guān)信息,通過自己定義的voidsearchPeople()函數(shù)來實現(xiàn)。(1)按員工姓名查詢:可以按員工工號來查詢員工的相關(guān)信息,通過自己定義的voidsearchPeopleByName()函數(shù)來實現(xiàn)。(2)按員工編號查詢:可以按員工職務(wù)來查詢員工的相關(guān)信息,通過自己定義的voidsearchPeopleByNum()函數(shù)來實現(xiàn)。(3)退出。4、刪
8、除員工模塊:刪除需要刪除的員工的所有信息,通過自己定義的voiddeletePeople()函數(shù)來實現(xiàn)。(1)按員工姓名刪除模塊:可以按員工工號來刪除員工的相關(guān)信息,通過自己定義的voiddeletePeopleByName()函數(shù)來實現(xiàn)。(2)按員工編號刪除模塊:可以按員工編號刪除員工的相關(guān)信息,通過自己定義voiddeletePeopleByNum()函數(shù)來實現(xiàn)。(3)退出5、修改模塊:可以修改需要修改的員工的相關(guān)信息,通過自己定義的voideditMessage()函數(shù)來實現(xiàn)。(1)修改整條記錄,可以修改該員工的全部信息,通過自己定義的voideditAll()函數(shù)來實現(xiàn)。(2)修改部分
9、記錄,可以修改該員工的部分信息,通過自己定義的voideditSome()函數(shù)來實現(xiàn)。(3)退出。6、員工信息排序模塊:可以按照規(guī)定要求對員工信息排序,通過自己定義的voidsort()函數(shù)來實現(xiàn)。(1)按年齡排序:可以按員工工號對員工信息排序,通過自己定義的voidsortByAge()函數(shù)來。(2)按工齡排序:可以按員工工齡對員工信息排序,通過自己定義的voidsortByWorkTime()函數(shù)來實現(xiàn)。(3)回復(fù)原排序:可以回復(fù)排序前的順序,函數(shù)來實現(xiàn)。(4)退出。7、退出系統(tǒng)模塊:退出員工信息管理系統(tǒng),函數(shù)調(diào)用圖:I.添砥工IaxidMessagc()按姓名查詢、-SRrrchF-
10、39;nnnlffRvhl杳同S息searchPeoplE()通過自己定義的voidsortByNum()通exit(0)函數(shù)來實現(xiàn)。修改部分記錄tditSome按編號查詢searchPeopltByNn胸。操作菜單模塊A授姓名voiddflerePeopleByXam刪除員工deletrPco(ple(退出Exit(0)員工信息排序模塊sort按年齡排序oitByAge回復(fù)排序sortByNum技員工工號刪除dtlttePeopleByNu(圖3)調(diào)試分析測試是使用人工或者自動手段來運行或測試某個系統(tǒng)的過程,其目的在于檢驗是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。在調(diào)試查詢修改功
11、能過程中,查詢的結(jié)果顯示,沒有找到員工信息,最后發(fā)現(xiàn)查找的結(jié)點不正確,查詢應(yīng)該與輸入的值和頭結(jié)點next比較。此外查詢結(jié)點不知道如何循環(huán),反復(fù)修改程序才知道如何繼續(xù)查找而不出錯誤。本次課程設(shè)計是圍繞數(shù)據(jù)結(jié)構(gòu)進(jìn)行。根據(jù)問題描述可知,需要解決問題并不復(fù)雜,整個問題只需要實現(xiàn)一個員工管理系統(tǒng)功能,那就是在這個系統(tǒng)中實現(xiàn)對員工信息的插入、刪除、查詢、排序、修改。但是,為了實現(xiàn)該功能,卻需要優(yōu)秀的算法和數(shù)據(jù)結(jié)構(gòu)以保證實現(xiàn)的時間和空間效率。把員工信息存儲在一個單鏈表中,利用指針實現(xiàn)對員工信息的各項基本操作。雖然設(shè)計的程序完成了題目描述所需要實現(xiàn)的功能,但是仍然存在不如人意的地方。可以排序上面多設(shè)計幾個算法
12、,實現(xiàn)多角度排序。在這個系統(tǒng)中沒有員工序號的信息,所以允許員工姓名相同,在一定程度上可能存在員工信息重復(fù)。經(jīng)過這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計,我們不僅及時鞏固的了數(shù)據(jù)結(jié)構(gòu)、算法、以及軟件工程的知識,并明白數(shù)據(jù)結(jié)構(gòu)和算法對于程序時間和空間性能的影響,及軟件工程提供的開發(fā)流程和工具對于實現(xiàn)特定功能程序的重要意義。當(dāng)我們面對一個實際問題,應(yīng)該迅速根據(jù)問題性質(zhì)和特點抽象成特定的數(shù)據(jù)結(jié)構(gòu),當(dāng)然每個問題都有可能能夠抽象成多種數(shù)據(jù)結(jié)構(gòu),每種數(shù)據(jù)結(jié)構(gòu)適應(yīng)于不同的算法。因此應(yīng)該綜合考慮這樣的數(shù)據(jù)結(jié)構(gòu)、算法以及它們的空間和時間效率,然后從中選擇一個作為實現(xiàn)程序的基礎(chǔ)。用戶使用說明進(jìn)入員工管理系統(tǒng),首先看到的就是主菜單界面,
13、然后提示:“請選擇主菜單(0-6):"如果選擇1,進(jìn)入添加員工模塊,按照提示語依次錄入員工對象信息。選才i2,進(jìn)入展示員工所有的信息模塊,DO沸面顯示剛才錄入的員工信息。選才i3,進(jìn)入員工查詢模塊,在此模塊下:系統(tǒng)提示:按姓名查詢、按編號查詢,系統(tǒng)根據(jù)用戶選擇進(jìn)行相應(yīng)的處理,退出查詢模塊時,系統(tǒng)進(jìn)入主菜單模塊。選才i4,進(jìn)入刪除員工模塊,在此模塊下:系統(tǒng)提示:按編號刪除、按姓名刪除,系統(tǒng)根據(jù)用戶選擇,進(jìn)行相應(yīng)的處理,退出刪除模塊時,系統(tǒng)進(jìn)入主菜單模塊。選才i5,進(jìn)入修改員工信息模塊,在該模塊下:系統(tǒng)提示:修改整條信息,修改部分信息,系統(tǒng)根據(jù)用戶選擇,進(jìn)行相應(yīng)的功能處理。當(dāng)用戶選擇退出
14、修改模塊時,系統(tǒng)進(jìn)入主菜單模塊。選才I6,進(jìn)入排序模塊,在該模塊下:系統(tǒng)提示:按年齡排序、按工齡排序、回復(fù)原排序,系統(tǒng)根據(jù)用戶的選擇,進(jìn)行相應(yīng)的處理。選才i0,退出系統(tǒng)。測試結(jié)果(一)當(dāng)操作人員運行程序時,彈出的DO沸面如下:職工管理系統(tǒng)140工工統(tǒng)員口累加器單工某員息=E蘭口操有。所員示改展修自3-I一日,查詢員工信息6.排序請選擇操作菜單0-G:(二)根據(jù)提示語,輸入1,添加員工信息,操作如下界面:請選擇操作菜單1證年職工費號工工工工添編員員=香援一的人人人人繼工雷瑞否員清請清送自7E1以北號鍵結(jié)束);以料號鍵結(jié)束九:2否巧、n;y.adninltt經(jīng)理lit(三)在主菜單輸入2,進(jìn)入輸出
15、員工功能,操作如下:請選擇操作菜單0-6二2編號姓百1 adminl2 admin23 admin34 adn*in41234m二m二二一m二位JS理理理妻經(jīng)經(jīng)經(jīng)添加員工、展示所有員工信息功能實現(xiàn)。(四)在主菜單輸入3,查詢員工信息里*面裔詢界操號名杳富電選WS3主相匕_0-6:3看選擇操作菜單日-A二按編號查詢,測試如下:按姓名查詢,測試如下:<1-32的姓名以址號鍵結(jié)束3adminl#年齡職位工齡1adninl22生理11以上查詢功能測試功能。6-0zx力單。面菜惇界作操號名刪塞姓出選請1.2.3.按編號刪除,測試如下:按姓名刪除如下:以上測試完成。2的姓名以M號鍵結(jié)束3admin2
16、北(六)在主菜單輸入5,進(jìn)入修改信息功能:單改姓年職工的的的一作要工工工工!需員員員員功-擇人人人入入成,注4目請金涅目請慎1一m口S;編號7息a)>束結(jié)建號ahctt文秘升(五)在主菜單,輸入4,刪除員工功能:上面是對每一條記錄進(jìn)行的修改。當(dāng)你選擇2的菜單時,則是對某條信息的某個字段對其進(jìn)行內(nèi)容修改,在這里就不做演示了。(七)在主菜單輸入6,進(jìn)入排序功能:按年齡排序,測試如下:請選擇操作是單2編號姓有3adminG2adminS1adminl-3-21二一irri二.rn;fem職經(jīng)經(jīng)經(jīng)按工齡排序相同操作,測試成功?;貜?fù)排序,回復(fù)到未排序狀態(tài),測試成功。(八)退出,將所有的員工信息寫入
17、message.txt文件中,實現(xiàn)永久保存。退出系統(tǒng),測試完成??偨Y(jié)在本系統(tǒng)的開發(fā)過程中由于時間也比較倉促、準(zhǔn)備不充分,系統(tǒng)必然會存在一些缺陷和不足。對員工信息管理的整個流程不夠熟悉,在需求分析時未能做到完全滿足用戶的需求。課程設(shè)計中我們遇到很多問題。我們在開發(fā)時,我們查閱了許多資料,了解到即是對員工的編號號,姓名,年齡,工齡等復(fù)雜多樣的信息,能夠較清晰,快捷而操作方便的現(xiàn)代化管理系統(tǒng)。弄清了這個基本概念以后,我們又詳細(xì)理解了老師所講的設(shè)計要求和注意事項,大致確定了總體的設(shè)計思路,初步提出問題的解決方案,以及系統(tǒng)大致設(shè)計方案和框架,接下來我們就著手編程。在編程過程中,先是根據(jù)系統(tǒng)所要求,找出所
18、需要知識點。編完程序,我們在機房進(jìn)行了一次又一次的調(diào)試,找出了其中的錯誤,一一糾正,并且修改了其中不太完善的部分,力求做到實用并且精確盡管本管理系統(tǒng)存在著很多不足,但其功能全面、易于日后程序更新、數(shù)據(jù)庫管理容易、界面友好、操作方便、效率高、安全性好等優(yōu)點是本管理系統(tǒng)所必需的。通過開發(fā)這個系統(tǒng),我組掌握了的項目基本開發(fā)過程,用到的知識鞏固了我對C語言的學(xué)習(xí),但在這次設(shè)計中的最大收獲并不是掌握這幾門開發(fā)工具的應(yīng)用,而是學(xué)會了設(shè)計系統(tǒng)的思維方法。通過本次課程設(shè)計,我們對數(shù)據(jù)結(jié)構(gòu)知識掌握了很多,并能將它用以程序編寫中,并且提高了自己的解決實際問題的能力。主要參考文獻(xiàn)1李云清,楊慶紅,揭安全.數(shù)據(jù)結(jié)構(gòu)(
19、C語言版)M.北京:人民郵電大學(xué)出版社,2004.62潘彥.算法設(shè)計與分析基礎(chǔ)M.北京:清華大學(xué)出版社,2007.13軟件工程原理與應(yīng)用/曾強聰,趙歆編著北京:清華大學(xué)出版社,20114呂鳳翥.C+語言程序設(shè)計(第2版)M.北京:電子工業(yè)出版社,2007.25嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版)M.北京:清華大學(xué)出版社,2002.9附錄:源代碼#include<stdio.h>#include<malloc.h>#include<string.h>#include<stdlib.h>#defineMAX_NUM40typedefstructint
20、num;/編號charnameMAX_NUMJ/姓名intage;/年齡charjobMAX_NUM;/職位;intworkTime;/工齡People;typedefstructnodePeoplepeople;structnode*next;intlen;/表示鏈表長度linklist;voiddoAddMessage(linklist*s)inti=0,value1=0,j;charch;printf("t請輸入員工的姓名(以仙鍵2束):");scanf("%c",&ch);while(ch!='#')s->peopl
21、i=ch;i+;scanf("%c",&ch);for(j=i;j<40;j+)s->j='0'getchar();printf("t請輸入員工的年齡:”);scanf("%d",&value1);s->people.age=value1;getchar();printf("t請輸入員工的職位(以#鍵2束):");i=0;scanf("%c",&ch);while(ch!='#')s->peo
22、ple.jobi=ch;i+;scanf("%c",&ch);for(j=i;j<40;j+)s->people.jobj='0'getchar();printf("t請輸入員工的工齡:”);scanf("%d",&value1);s->people.workTime=value1;/執(zhí)行修改某個字段的信息voiddoEditSome(linklist*p)inti=0,max=0,value1=0,j;intflag=0;charstr14,str240,ch;chara="姓名&q
23、uot;charb="年齡";charc="職位";chard="工齡";getchar();printf("t請輸入你要修改的字段名稱(以#鍵2束):");scanf("%c",&ch);while(ch!='#")str1i=ch;i+;scanf("%c",&ch);for(i=0;i<strlen(a);i+)if(ai=str1i)flag=1;elseflag=0;break;if(flag=0)for(i=0;i<s
24、trlen(b);i+)if(bi=str1i)flag=2;elseflag=0;break;if(flag=0)for(i=0;i<strlen(c);i+)if(ci=str1i)flag=3;elseflag=0;break;if(flag=0)for(i=0;i<strlen(d);i+)if(di=str1i)flag=4;elseflag=0;break;getchar();if(flag=0)printf("t沒有找到您要修改的字段!n");elseif(flag=1)printf("t請輸入該字段的值(以#1鍵2束):");
25、i=0;scanf("%c",&ch);while(ch!='#')str2i=ch;i+;scanf("%c",&ch);for(j=i;j<40;j+)str2j='0')for(i=0;i<40;i+)p->i=str2i;)elseif(flag=2)printf("t請輸入該字段的值:");scanf("%d",&value1);p->people.age=value1;elseif(flag=3)pri
26、ntf("t請輸入該字段的值(以#1鍵2束):");i=0;scanf("%c",&ch);while(ch!='#')str2i=ch;i+;scanf("%c",&ch);for(j=i;j<40;j+)str2j='0'for(i=0;i<40;i+)p->people.jobi=str2i;elseprintf("t請輸入該字段的值:");scanf("%d",&value1);p->people.workT
27、ime=value1;/按編號查詢員工信息voidsearchPeopleByNum(linklist*head)intnumber,flag=0;linklist*p;printf("t請輸入你要查詢的編號:");scanf("%d",&number);p=head->next;while(p!=NULL)if(p->people.num=number)printf("t編號姓名年齡職位工齡n");printf("t%-10d%-20s%-10d%-20s%-10d",p->people
28、.num,p->,p->people.age,p->people.job,p->people.workTime);printf("n");flag=1;break;elsep=p->next;if(flag=0)printf("t沒有查到與你輸入編號相匹配的員工信息!n");/按照姓名查找員工信息voidsearchPeopleByName(linklist*head)intj=0,i=0,flag=0;chara,ch40;linklist*p;p=head->next;getchar();pr
29、intf("t請輸入你要查詢的姓名(以仙鍵2束):");scanf("%c",&a);while(a!='#')chi=a;i+;scanf("%c",&a);while(p!=NULL)for(j=0;j<strlen(ch);j+)if(p->j!=chj)break;if(i=j)printf("t編號姓名年齡職位工齡n");printf("t%-10d%-20s%-10d%-20s%-10d",p->people.n
30、um,p->,p->people.age,p->people.job,p->people.workTime);printf("n");flag=1;break;elsep=p->next;if(flag=0)printf("t沒有查到與你輸入姓名相匹配的員工信息!n");)/根據(jù)編號刪除員工信息voiddeletePeopleByNum(linklist*head)intnumber,flag=0;linklist*p,*q;printf("t請輸入你要刪除的編號:");scanf(
31、"%d",&number);p=head->next;q=head;while(p!=NULL)if(p->people.num=number)q->next=p->next;free(p);flag=1;break;elseq=q->next;p=p->next;if(flag=0)printf("t沒有查到與你輸入編號相匹配的員工信息!n");elseprintf("t刪除成功!n");/根據(jù)姓名刪除員工信息voiddeletePeopleByName(linklist*head)int
32、j=0,i=0,flag=0;chara,ch40;linklist*p,*q;p=head->next;q=head;getchar();printf("t請輸入你要查詢的姓名(以#鍵2束):");scanf("%c",&a);while(a!='#')chi=a;i+;scanf("%c",&a);)while(p!=NULL)for(j=0;j<strlen(ch);j+)if(p->j!=chj)break;)if(i=j)q->next=p->
33、;next;free(p);flag=1;break;)elseq=q->next;p=p->next;)if(flag=0)printf("t沒有查到與你輸入姓名相匹配的員工信息!n");elseprintf("t刪除成功!n");/修改voidedit(linklist*head,charch)intnumber,flag=0;linklist*p,*q;printf("t請輸入你要修改信息的編號:");scanf("%d",&number);p=head->next;q=head;w
34、hile(p!=NULL)if(p->people.num=number)if(ch="1")doAddMessage(p);if(ch='2')doEditSome(p);flag=1;break;elseq=q->next;p=p->next;if(flag=0)printf("t沒有查到與你輸入編號相匹配的員工信息!n");elseprintf("t修改成功!n");/實現(xiàn)三種條件的排序voidsortAll(linklist*head,chara)linklist*p,*q,*s;intfla
35、g=0;inti=0;for(i=0;i<head->len;i+)flag=0;p=head;q=p->next;s=q->next;while(s!=NULL)if(q->people.age<s->people.age)&&a='1')q->next=s->next;s->next=q;p->next=s;flag=1;if(q->people.workTime<s->people.workTime)&&a='2')q->next=s-
36、>next;s->next=q;p->next=s;flag=1;if(q->people.num>s->people.num)&&a='3')q->next=s->next;s->next=q;p->next=s;flag=1;p=p->next;q=p->next;s=q->next;)if(flag=0)break;)printf("t排序完成,請繼續(xù)操作!n");)/添加員工信息voidaddMessage(linklist*head)charch;inti
37、=0,value1;linklist*s,*p;s=(linklist*)malloc(sizeof(linklist);s->people.num=head->len+1;printf("nt員工的編號為:dn",s->people.num);doAddMessage(s);p=head;while(p->next!=NULL)p=p->next;)s->next=p->next;p->next=s;head->len=head->len+1;getchar();printf("t是否繼續(xù)添加(是、否/
38、y、n):");scanf("%c",&ch);getchar();if(ch="y'|ch='Y')addMessage(head);getchar();)/展示所有員工的信息voidshowAllMessage(linklist*head)linklist*p;p=head->next;printf("t編號姓名年齡職位工齡n");while(p!=NULL)printf("t%-10d%-20s%-10d%-20s%-10d",p->people.num,p->
39、;,p->people.age,p->people.job,p->people.workTime);p=p->next;printf("n");)printf("n");)/查詢員工信息voidsearchPeople(linklist*head)charch='y'if(head->next=NULL)printf("t目前暫無存儲任何人員信息,無法進(jìn)行任何查詢操作!n");elseprintf("t1.按編號查詢。n");printf(&quo
40、t;t2.按姓名查詢。n");printf("t3.退出查詢界面。n");printf("t*n");printf("t請選擇操作菜單(1-3):");scanf("%c",&ch);switch(ch)case'1':searchPeopleByNum(head);break;case'2':searchPeopleByName(head);break;case'3':break;getchar();/刪除員工信息voiddeletePeople(
41、linklist*head)charch='y'if(head->next=NULL)printf("t目前暫無存儲任何人員信息,無法進(jìn)行任何刪除操作!n");elseprintf("t1.按編號刪除。n");printf("t2.按姓名刪除。n");printf("t3.退出刪除界面。n");printf("t請選擇操作菜單(1-3):");scanf("%c",&ch);printf("t*n");switch(ch)ca
42、se'1':deletePeopleByNum(head);break;case'2':deletePeopleByName(head);break;case'3':break;getchar();/修改員工信息voideditMessage(linklist*head)charch='y'if(head->next=NULL)printf("t目前暫無存儲任何人員信息,無法進(jìn)行任何刪除操作!n");elseprintf("t1,修改整條記錄。n");printf("t2.修
43、改部分。n");printf("t3.退出修改界面。n");printf("t*n");printf("t請選擇操作菜單(1-3):");scanf("%c",&ch);switch(ch)case'1':edit(head,ch);break;case'2':edit(head,ch);break;case'3':break;getchar();/單鏈表排序voidsort(linklist*head)charch='y'if(he
44、ad->next=NULL)printf("t目前暫無存儲任何人員信息,無法進(jìn)行任何排序操作!n");elseif(head->next->next=NULL)printf("t只有一條數(shù)據(jù)無需進(jìn)行排序!n");elseprintf("t1.按年齡排序。n");printf("t2.按工齡排序。n");printf("t3.恢復(fù)原順序。n");printf("t4.退出排序界卸。n"printf("t*n");printf("t
45、請選擇操作菜單(1-4):");scanf("%c",&ch);switch(ch)case'1':sortAll(head,ch);break;case'2':sortAll(head,ch);break;case'3':sortAll(head,ch);break;case'4':break;getchar();/退出時保存將文件保存到文件中voidsaveMessage(linklist*head)FILE*fp;linklist*p,*p0;fp=fopen("message.txt","wb");p=head;if(fp=NULL)prin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海市勞務(wù)合同范例
- 勞動合同范本在昆明
- 包地合同范本模板
- 出口車牌架采購合同范本
- 臨時用房建設(shè)合同范本
- 第五課 我是小畫家-模塊組 教學(xué)設(shè)計 -2023-2024學(xué)年大連版(2015)初中信息技術(shù)七年級下冊
- 勞動合同范本申請
- 養(yǎng)羊合作合同范本
- 2024年云浮市郁南縣河口鎮(zhèn)招聘筆試真題
- 2024年日照銀行社會招聘考試真題
- DB34-T 4859-2024 農(nóng)村河道清淤規(guī)范
- 報告廳設(shè)計規(guī)范
- 髖關(guān)節(jié)置換術(shù)后并發(fā)癥
- 我的家鄉(xiāng)安徽淮北城市介紹課件
- 《大學(xué)生創(chuàng)新創(chuàng)業(yè)教程》高職大學(xué)生創(chuàng)新創(chuàng)業(yè)課程全套教學(xué)課件
- 中醫(yī)肝與膽課件
- 2024年青田中小學(xué)教師招聘真題
- 技術(shù)標(biāo)編制要求及注意事項
- 部編人教版八年級語文下冊全冊課件
- 3月8日國際婦女節(jié)主題班會致敬了不起的她母愛是生命的搖籃課件
- 2024電動汽車用鋰離子動力電池包和系統(tǒng)電性能試驗方法
評論
0/150
提交評論