C語(yǔ)言設(shè)計(jì)課程設(shè)計(jì)-職工信息管理系統(tǒng)說(shuō)明書_第1頁(yè)
C語(yǔ)言設(shè)計(jì)課程設(shè)計(jì)-職工信息管理系統(tǒng)說(shuō)明書_第2頁(yè)
C語(yǔ)言設(shè)計(jì)課程設(shè)計(jì)-職工信息管理系統(tǒng)說(shuō)明書_第3頁(yè)
C語(yǔ)言設(shè)計(jì)課程設(shè)計(jì)-職工信息管理系統(tǒng)說(shuō)明書_第4頁(yè)
C語(yǔ)言設(shè)計(jì)課程設(shè)計(jì)-職工信息管理系統(tǒng)說(shuō)明書_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一 引言21世紀(jì),人類經(jīng)濟(jì)高速發(fā)展,人們發(fā)生了日新月異的變化,特別是計(jì)算機(jī)的應(yīng)用及普及到經(jīng)濟(jì)和社會(huì)生活中的各個(gè)領(lǐng)域。使原本的舊的管理方法越來(lái)越不適應(yīng)現(xiàn)代社會(huì)的發(fā)展。許多還停留在以前的手工操作。這大大的阻礙了人類經(jīng)濟(jì)的發(fā)展。為了適應(yīng)現(xiàn)代社會(huì)人們高度強(qiáng)烈的時(shí)間觀念,企事業(yè)職工信息管理類的智能化更加重要,人工的職工信息管理已經(jīng)不能滿足我們的需求,查詢困難等缺點(diǎn)是人工的試驗(yàn)設(shè)備管理所不能克服的。在此情況下,就需要一個(gè)程序化的自動(dòng)的設(shè)備信息管理系統(tǒng)來(lái)滿足人們的需求。在C語(yǔ)言的平臺(tái)下實(shí)現(xiàn),用戶可以方便的進(jìn)行各項(xiàng)操作。C語(yǔ)言是一種程序設(shè)計(jì)語(yǔ)言1,早在20世紀(jì)90年代,C語(yǔ)言表現(xiàn)出了強(qiáng)勁的生命力,C語(yǔ)言是一種

2、結(jié)構(gòu)化語(yǔ)言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語(yǔ)言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問(wèn)內(nèi)存的物理地址2,進(jìn)行位(bit)一級(jí)的操作。由于C語(yǔ)言實(shí)現(xiàn)了對(duì)硬件的編程操作,因此C語(yǔ)言集高級(jí)語(yǔ)言和低級(jí)語(yǔ)言的功能于一體,既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。此外,C語(yǔ)言還具有效率高,可移植性強(qiáng)等特點(diǎn)3。因此可以廣泛地移植到了各類型計(jì)算機(jī)上,從而形成了多種版本的C語(yǔ)言,幾乎應(yīng)用了各個(gè)領(lǐng)域,如科學(xué),醫(yī)藥,航天等多個(gè)方面。C語(yǔ)言設(shè)計(jì)具有重要的意義,可以提高經(jīng)濟(jì)的快速發(fā)展,促進(jìn)各行各業(yè)的發(fā)展。從而 創(chuàng)造出更高的價(jià)

3、值。本次設(shè)計(jì)采用結(jié)構(gòu)體數(shù)組和結(jié)構(gòu)體指針,完成了對(duì)數(shù)據(jù)的添加、顯示、查找、刪除、修改等功能。二 需求分析職工信息用文件存儲(chǔ),提供文件的輸入輸出操作;要能夠完成職工信息的錄入和修改,需要提供職工信息添加和修改操作;實(shí)現(xiàn)對(duì)職工信息查詢需要提供查找操作,職工信息的查詢可根據(jù)職工號(hào) 、學(xué)歷、工資等多種方式查詢修改;另外還要根據(jù)鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。職工信息管理系統(tǒng)包括:職工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址、電話。包括插入、刪除、添加等功能,為職工的有效管理提供一個(gè)方便快捷的平臺(tái)。2.1 錄入用戶根據(jù)提示功能選擇添加即可實(shí)現(xiàn)對(duì)職工的職工號(hào)號(hào)、名字、性別、年齡、學(xué)歷、工資、住址、電話,進(jìn)行一次

4、性輸入多條設(shè)備的信息記錄。2.2 查找可以按提示輸入要查找的職工號(hào)或?qū)W歷,然后系統(tǒng)將按職工號(hào)或?qū)W歷逐一進(jìn)行核對(duì),當(dāng)滿足要求時(shí),輸出該職工的全部信息;沒(méi)有時(shí)顯示無(wú)記錄。2.3 刪除該模塊提供的按職工號(hào)進(jìn)行查找,當(dāng)查找到后,通過(guò)if-else嵌套結(jié)構(gòu)來(lái)實(shí)現(xiàn),將滿足要求的設(shè)備數(shù)組成員用下一個(gè)數(shù)組的相應(yīng)的成員進(jìn)行替代,以此來(lái)實(shí)現(xiàn)刪除。2.4 修改修改職工的信息:提示用戶輸入要進(jìn)行修改的職工號(hào),然后系統(tǒng)就進(jìn)行查找,如果在數(shù)組中存有該職工的信息,則提示用戶輸入要修改的職工的新信息同時(shí)顯示以前的信息,以防止修改錯(cuò)誤。并且可以再次進(jìn)行修改。2.5 顯示顯示功能是根據(jù)數(shù)組中的職工號(hào)是否為空來(lái)進(jìn)行的,通過(guò)if語(yǔ)句

5、來(lái)實(shí)現(xiàn)。當(dāng)數(shù)組中某個(gè)成員的職工號(hào)不為空時(shí),就輸出;否則就跳過(guò)。依次來(lái)顯示全部職工的信息三 總體設(shè)計(jì)進(jìn)行總體設(shè)計(jì)的目的是用比較抽象概括的方式確定系統(tǒng)如何完成預(yù)定的功能,進(jìn)而確定組成系統(tǒng)的每個(gè)模塊的結(jié)構(gòu)和功能,從而實(shí)現(xiàn)C語(yǔ)言的編碼的實(shí)現(xiàn)。3.1 總體設(shè)計(jì)思想本系統(tǒng)主要應(yīng)用結(jié)構(gòu)化的設(shè)計(jì)思想實(shí)現(xiàn)職工信息管理系統(tǒng)的添加、修改、刪除等典型管理功能。在軟件開發(fā)過(guò)程中應(yīng)用了高級(jí)語(yǔ)言程序設(shè)計(jì)中的基本控制結(jié)構(gòu),如選擇、循環(huán)、順序結(jié)構(gòu)。系統(tǒng)的設(shè)計(jì)方法是結(jié)構(gòu)化設(shè)計(jì)方法,采用C語(yǔ)言進(jìn)行開發(fā)。本次設(shè)計(jì)的職工信息系統(tǒng),采用創(chuàng)建一個(gè)結(jié)構(gòu)體數(shù)組,用來(lái)記錄設(shè)備的詳細(xì)信息,然后再通過(guò)對(duì)數(shù)組的各種操作來(lái)完成對(duì)職工信息的添加、刪除、修

6、改、查找等功能。有效實(shí)現(xiàn)添加、修改、刪除等功能,在程序設(shè)計(jì)過(guò)程中運(yùn)用了結(jié)構(gòu)體數(shù)組的知識(shí),以完成對(duì)職工信息的錄入、顯示等功能。職工信息錄入模塊職工信息查找模塊職工信息刪除模塊職工信息修改模塊職工信息管理系統(tǒng)設(shè)計(jì)職工信息顯示模塊圖3-1 系統(tǒng)總體功能結(jié)構(gòu)圖3.2 系統(tǒng)功能結(jié)構(gòu)圖職工信息包括職工號(hào)、姓名、性別、年齡、學(xué)歷、工資、住址、電話等。其結(jié)構(gòu)圖如3-2所示。職工詳細(xì)信息學(xué)歷電話住址工資年齡性別姓名職工號(hào)圖3-2 職工詳細(xì)信息圖四 詳細(xì)設(shè)計(jì)本次設(shè)計(jì)采用逐個(gè)模塊設(shè)計(jì)的方法,把一個(gè)復(fù)雜程序設(shè)計(jì)問(wèn)題劃分為七個(gè)模塊,即:職工信息添加錄入,職工信息修改,職工信息顯示,職工信息查找,職工信息刪除,職工信息插

7、入和一個(gè)主函數(shù)模塊。4.1 主函數(shù)模塊在主函數(shù)中了while循環(huán)和switch 選擇兩個(gè)函數(shù),通過(guò)switchcase結(jié)構(gòu)實(shí)現(xiàn)菜單目錄的擇功能。其主體流程圖如下圖4-1所示。開始顯示一系列功能選擇輸入number判斷 是否是0到8根據(jù)n值調(diào)用各功能模塊函數(shù)結(jié)束NO圖4-1 系統(tǒng)的選擇流程圖圖4-2 系統(tǒng)選擇界面圖系統(tǒng)的選擇實(shí)現(xiàn)了各個(gè)功能模塊之間的有效切換,使系統(tǒng)的使用更加方便快捷,給職工信息的管理帶來(lái)極大方便,其工作的界面如4-2所示。4.2 實(shí)驗(yàn)設(shè)備信息錄入添加模塊利用宏定義,定義所聲明的結(jié)構(gòu)體數(shù)組的大小,while輸入職工信息依次賦給結(jié)構(gòu)體中的成員,在一個(gè)實(shí)驗(yàn)設(shè)備信息錄入添加完畢后提示是否

8、繼續(xù)。選擇繼續(xù)可以繼續(xù)添加錄入;選擇退出就可以直接返回主界面,進(jìn)行其它的功能選擇。其設(shè)計(jì)代碼如下所示。void Add(Link l) Node *p,*r,*s; char zhigonghao10; int flag=0;r=l; s=l-next; while(r-next!=NULL) r=r-next; while(1) printf(請(qǐng)你輸入學(xué)號(hào)(以0返回上一級(jí)菜單:); scanf(%s,zhigonghao); if(strcmp(zhigonghao,0)=0) break; while(s) if(strcmp(s-data.zhigonghao,zhigonghao)=0

9、) printf(=提示:職工號(hào)為%s的職工已經(jīng)存在,若要修改請(qǐng)你選擇4 修改!n,zhigonghao); printstart(); printc(); printe(s); printstart(); printf(n); return; s=s-next; p=(Node *)malloc(sizeof(Node); strcpy(p-data.zhigonghao,zhigonghao); printf(請(qǐng)你輸入姓名:); scanf(%s,); getchar(); printf(請(qǐng)你輸入性別:); scanf(%s,p-data.sex); getchar(

10、); printf(請(qǐng)你輸入年齡:); scanf(%s,&p-data.nianling); getchar(); printf(請(qǐng)你輸入學(xué)歷:); scanf(%s,&p-data.xueli); getchar(); printf(請(qǐng)你輸入工資:); scanf(%s,&p-data.gongzi); getchar(); printf(請(qǐng)你輸入住址:); scanf(%s,&p-data.zhuzhi); getchar(); printf(請(qǐng)你輸入電話號(hào)碼:); scanf(%s,&p-data.tel); getchar(); p-next=NULL; r-next=p; r=p;

11、 shoudsave=1; 其工作的界面如4-3所示。圖4-3 信息錄入界面圖4.3 實(shí)驗(yàn)設(shè)備信息查找模塊本模塊按職工號(hào)進(jìn)行查找,用for語(yǔ)句遍歷數(shù)組,字符串比較函數(shù)對(duì)輸入的信息與結(jié)構(gòu)體存儲(chǔ)的成員信息進(jìn)行比對(duì),若相等則輸出;否則顯示無(wú)記錄;其主要程序代碼如下所示。void Qur(Link l) int sel; char findmess20; Node *p; if(!l-next) printf(n=提示:沒(méi)有資料可以查詢!n); return; printf(n=1按職工號(hào)查找n=3按學(xué)歷查找n); scanf(%d,&sel); if(sel=1) printf(請(qǐng)你輸入要查找的職工

12、號(hào):); scanf(%s,findmess); p=Locate(l,findmess,zhigonghao); if(p) printf(tttt查找結(jié)果n); printstart(); printc(); printe(p); printstart(); else Nofind(); else if(sel=3) printf(請(qǐng)你輸入要查找的學(xué)歷:); scanf(%s,findmess); p=Locate(l,findmess,xueli); if(p) printf(tttt查找結(jié)果n); printstart(); printc(); printe(p); while(1)

13、p=Locate(p,findmess,xueli);if(p=NULL)break; printe(p); printstart(); else Nofind(); else Wrong(); 其工作的界面如4-4所示。圖4-4 信息查找界面圖4.4 實(shí)驗(yàn)設(shè)備信息刪除模塊在刪除之前,要輸入要?jiǎng)h除的信息的職工號(hào),然后在進(jìn)行查找,查找到以后,利用for循環(huán),依次將該數(shù)組元素的后位向前移動(dòng)覆蓋,形成刪除功能。其刪除程序的部分語(yǔ)句如下:void Del(Link l) int sel; Node *p,*r; char findmess20; if(!l-next) printf(n=提示:沒(méi)有資料

14、可以刪除!n); return; printf(n=1按職工號(hào)刪除n=2按姓名刪除n); scanf(%d,&sel); if(sel=1) printf(請(qǐng)你輸入要?jiǎng)h除的學(xué)號(hào):); scanf(%s,findmess); p=Locate(l,findmess,zhigonghao); if(p) r=l; while(r-next!=p) r=r-next; r-next=p-next; free(p); printf(n=提示:該職工已經(jīng)成功刪除!n); shoudsave=1; else Nofind(); else if(sel=2) printf(請(qǐng)你輸入要?jiǎng)h除的姓名:); sca

15、nf(%s,findmess); p=Locate(l,findmess,name); if(p) r=l; while(r-next!=p) r=r-next; r-next=p-next; free(p); printf(n=提示:該職工已經(jīng)成功刪除!n); shoudsave=1; else Nofind(); else Wrong(); 其工作的界面如4-5所示。圖4-5 信息刪除界面圖4.5 實(shí)驗(yàn)設(shè)備信息修改模塊利用for語(yǔ)句對(duì)結(jié)構(gòu)體進(jìn)行查找,if語(yǔ)句進(jìn)行判斷,找到要修改的信息,否則提示不存在;其主要程序代碼如下所示。void Modify(Link l) Node *p; char

16、 findmess20; if(!l-next) printf(n=提示:沒(méi)有資料可以修改!n); return; printf(請(qǐng)你輸入要修改的職工號(hào):); scanf(%s,findmess); p=Locate(l,findmess,zhigonghao); if(p) printf(請(qǐng)你輸入新職工號(hào)(原來(lái)是%s):,p-data.zhigonghao); scanf(%s,p-data.zhigonghao); printf(請(qǐng)你輸入新姓名(原來(lái)是%s):,); scanf(%s,); getchar(); printf(請(qǐng)你輸入性別(原來(lái)是

17、%s):,p-data.sex); scanf(%s,p-data.sex); printf(請(qǐng)你輸入新的年齡(原來(lái)是%s):,p-data.nianling); scanf(%s,&p-data.nianling); getchar(); printf(請(qǐng)你輸入新的學(xué)歷(原來(lái)是%s):,p-data.xueli); scanf(%s,&p-data.xueli); getchar(); printf(請(qǐng)你輸入新的工資(原來(lái)是%s):,p-data.gongzi); scanf(%s,&p-data.gongzi); getchar(); printf(請(qǐng)你輸入新的住址(原來(lái)是%s):,p-d

18、ata.zhuzhi); scanf(%s,&p-data.zhuzhi); getchar(); printf(請(qǐng)你輸入新的電話號(hào)碼(原來(lái)是%s):,p-data.tel); scanf(%s,&p-data.tel); printf(n=提示:資料修改成功!n); shoudsave=1; else Nofind(); 對(duì)職工信息的修改可以實(shí)現(xiàn)信息的正確性,實(shí)時(shí)性。而且其操作簡(jiǎn)單、快捷;其工作的界面如4-6所示。圖4-6 信息修改界面圖4.6 實(shí)驗(yàn)設(shè)備信息顯示模塊本模塊按職工號(hào)是否為零進(jìn)行顯示。使用字符串比較函數(shù)比較各成員的職工號(hào),當(dāng)編號(hào)為零時(shí),跳過(guò);不為零時(shí)就顯示出全部信息。信息的顯示可

19、以顯示全部的信息,可以有進(jìn)行設(shè)備信息的顯示核對(duì),其主要程序代碼如下所示。void Disp(Link l) int count=0;Node *p; p=l-next; if(!p) printf(n=提示:沒(méi)有資料可以顯示!n); return; printf(tttt顯示結(jié)果n); printstart(); printc(); printf(n); while(p) printe(p); p=p-next; printstart(); printf(n); 它的操作界面如4-7所示。圖4-7 信息顯示界面圖五 總結(jié)本次設(shè)計(jì)運(yùn)用了所學(xué)的模塊設(shè)計(jì)方法、結(jié)構(gòu)體、循環(huán)語(yǔ)句、選擇語(yǔ)句等實(shí)現(xiàn)了職工的

20、信息管理系統(tǒng)的添加、刪除、修改、查找等功能,實(shí)現(xiàn)了對(duì)職工信息的錄入、對(duì)輸入信息的查詢、對(duì)輸入信息的修改、對(duì)輸入信息的輸出、對(duì)輸入信息的刪除等。在為期一周的C語(yǔ)言課程設(shè)計(jì)中,充分應(yīng)用了所學(xué)的知識(shí),但是由于知識(shí)掌握的不夠深入,且知識(shí)學(xué)的不全等原因?qū)е略谡n程設(shè)計(jì)過(guò)程中遇到很多困難。尤其是在進(jìn)行錄入的信息匯總方面,耗費(fèi)了很多的時(shí)間與精力。同時(shí),在各功能的設(shè)計(jì)過(guò)程中有好多問(wèn)題考慮還不夠全面且功能不夠理想全面,沒(méi)有實(shí)現(xiàn)對(duì)實(shí)驗(yàn)設(shè)備信息的排序具體化、保存、插入的有效性和隨意性功能。通過(guò)這次課程設(shè)計(jì),使我對(duì)C語(yǔ)言有了更進(jìn)一步的認(rèn)識(shí)和了解,使自己把知識(shí)進(jìn)行了充分的應(yīng)用,把知識(shí)更好的學(xué)以致用。明白了要想學(xué)好C語(yǔ)言重

21、在實(shí)踐,要通過(guò)不斷的上機(jī)操作才能更好地學(xué)習(xí)它,我也發(fā)現(xiàn)自己的好多不足之處,首先是自己在指法上還不行,經(jīng)常按錯(cuò)字母,通過(guò)學(xué)習(xí)有所改進(jìn);再有對(duì)C語(yǔ)言的一些標(biāo)準(zhǔn)庫(kù)函數(shù)不太了解,對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,對(duì)C語(yǔ)言中經(jīng)常出現(xiàn)的錯(cuò)誤不了解,明白了學(xué)好任何技術(shù)方面的知識(shí)都重在實(shí)踐。這次課程設(shè)計(jì)不僅親自修改和編輯程序,通過(guò)本次課程設(shè)計(jì)也培養(yǎng)了我獨(dú)立思考、 綜合運(yùn)用所學(xué)有關(guān)相應(yīng)知識(shí)的能力,掌握 工程軟件設(shè)計(jì)的基本方法,強(qiáng)化上機(jī)動(dòng)手編程能力,闖過(guò)理論與實(shí)踐相結(jié)合的難關(guān)!也學(xué)習(xí)到了很多的哲理,懂得如何制定計(jì)劃,怎么樣去進(jìn)行這個(gè)計(jì)劃,掌握了如何去克服自己在進(jìn)行實(shí)踐中的不良情緒。總之,此次課程設(shè)計(jì)讓我獲益良多,整體

22、來(lái)說(shuō)是比較成功的。參考文獻(xiàn)1 譚浩強(qiáng),張基溫C語(yǔ)言程序設(shè)計(jì)教程(第3版)M北京:高等教育出版社,20062 呂鳳煮C語(yǔ)言基礎(chǔ)教程基礎(chǔ)理論與案例M北京:清華大學(xué)出版社,20053 黃明,梁旭,萬(wàn)洪莉C語(yǔ)言課程設(shè)計(jì)M北京:電子工業(yè)出版社,2006附錄#include #include #include int shoudsave=0; struct zhigong char zhigonghao10; /職工號(hào) char name20; /姓名char sex10; /性別char nianling22; /年齡char xueli22; /學(xué)歷char gongzi22; /工資char zhu

23、zhi22; /住址char tel22; /電話; typedef struct node struct zhigong data; struct node *next; Node,*Link; void menu() printf(*); printf(t1錄入職工資料ttttt2刪除職工資料n); printf(t3查找職工資料ttttt4修改職工資料n); printf(t5顯示職工資料ttttt6保存職工資料n); printf(t0退出系統(tǒng)n); printf(*n); void printstart() printf(-n); void Wrong() printf(n=提示:輸

24、入錯(cuò)誤!n); void Nofind() printf(n=提示:沒(méi)有找到該職工!n); void printc() / 本函數(shù)用于輸出中文 printf(職工號(hào)t 姓名t 性別t 年齡t 學(xué)歷t 工資t 電話號(hào)碼t); void printe(Node *p)/本函數(shù)用于輸出英文 printf(%-9s%5st%5st%5st%5st%5stt%st n,p-data.zhigonghao,,p-data.sex,p-data.nianling,p-data.xueli,p-data.gongzi,p-data.zhuzhi,p-data.tel); Node* Lo

25、cate(Link l,char findmess,char nameorzhigonghao) /該函數(shù)用于定位連表中符合要求的接點(diǎn),并返回該指針 Node *r; if(strcmp(nameorzhigonghao,zhigonghao)=0) /按職工號(hào)查詢 r=l-next; while(r!=NULL) if(strcmp(r-data.zhigonghao,findmess)=0) return r; r=r-next; else if(strcmp(nameorzhigonghao,name)=0) /按姓名查詢 r=l-next; while(r!=NULL) if(strc

26、mp(,findmess)=0) return r; r=r-next; else if(strcmp(nameorzhigonghao,xueli)=0) /按學(xué)歷查詢 r=l-next; while(r!=NULL) if(strcmp(r-data.xueli,findmess)=0) return r; r=r-next; return 0; void Luru(Link l) /錄入職工 Node *p,*r,*s; char zhigonghao10; int flag=0;r=l; s=l-next; while(r-next!=NULL) r=r-next

27、; /將指針置于最末尾 while(1) printf(請(qǐng)你輸入學(xué)號(hào)(以0返回上一級(jí)菜單:); scanf(%s,zhigonghao); if(strcmp(zhigonghao,0)=0) break; while(s) if(strcmp(s-data.zhigonghao,zhigonghao)=0) printf(=提示:職工號(hào)為%s的職工已經(jīng)存在,若要修改請(qǐng)你選擇4 修改!n,zhigonghao); printstart(); printc(); printe(s); printstart(); printf(n); return; s=s-next; p=(Node *)mal

28、loc(sizeof(Node); strcpy(p-data.zhigonghao,zhigonghao); printf(請(qǐng)你輸入姓名:); scanf(%s,); getchar(); printf(請(qǐng)你輸入性別:); scanf(%s,p-data.sex); getchar(); printf(請(qǐng)你輸入年齡:); scanf(%s,&p-data.nianling); getchar(); printf(請(qǐng)你輸入學(xué)歷:); scanf(%s,&p-data.xueli); getchar(); printf(請(qǐng)你輸入工資:); scanf(%s,&p-data.

29、gongzi); getchar(); printf(請(qǐng)你輸入住址:); scanf(%s,&p-data.zhuzhi); getchar(); printf(請(qǐng)你輸入電話號(hào)碼:); scanf(%s,&p-data.tel); getchar(); /信息輸入已經(jīng)完成 p-next=NULL; r-next=p; r=p; shoudsave=1; void Chazhao(Link l) /查找職工 int sel; char findmess20; Node *p; if(!l-next) printf(n=提示:沒(méi)有資料可以查詢!n); return; printf(n=1按職工號(hào)查

30、找n=2按學(xué)歷查找n); scanf(%d,&sel); if(sel=1)/職工號(hào) printf(請(qǐng)你輸入要查找的職工號(hào):); scanf(%s,findmess); p=Locate(l,findmess,zhigonghao); if(p) printf(tttt查找結(jié)果n); printstart(); printc(); printe(p); printstart(); else Nofind(); else if(sel=2) /學(xué)歷 printf(請(qǐng)你輸入要查找的學(xué)歷:); scanf(%s,findmess); p=Locate(l,findmess,xueli); if(p)

31、 printf(tttt查找結(jié)果n); printstart(); printc(); printe(p); while(1) p=Locate(p,findmess,xueli);if(p=NULL) break; printe(p); printstart(); else Nofind(); else Wrong(); void Shanchu(Link l) /刪除 int sel; Node *p,*r; char findmess20; if(!l-next) printf(n=提示:沒(méi)有資料可以刪除!n); return; printf(n=1按職工號(hào)刪除n=2按姓名刪除n); s

32、canf(%d,&sel); if(sel=1) printf(請(qǐng)你輸入要?jiǎng)h除的學(xué)號(hào):); scanf(%s,findmess); p=Locate(l,findmess,zhigonghao); if(p) r=l; while(r-next!=p) r=r-next; r-next=p-next; free(p); printf(n=提示:該職工已經(jīng)成功刪除!n); shoudsave=1; else Nofind(); else if(sel=2) printf(請(qǐng)你輸入要?jiǎng)h除的姓名:); scanf(%s,findmess); p=Locate(l,findmess,name); if

33、(p) r=l; while(r-next!=p) r=r-next; r-next=p-next; free(p); printf(n=提示:該職工已經(jīng)成功刪除!n); shoudsave=1; else Nofind(); else Wrong(); void Xiugai(Link l) /修改 Node *p; char findmess20; if(!l-next) printf(n=提示:沒(méi)有資料可以修改!n); return; printf(請(qǐng)你輸入要修改的職工號(hào):); scanf(%s,findmess); p=Locate(l,findmess,zhigonghao); if

34、(p) printf(請(qǐng)你輸入新職工號(hào)(原來(lái)是%s):,p-data.zhigonghao); scanf(%s,p-data.zhigonghao); printf(請(qǐng)你輸入新姓名(原來(lái)是%s):,); scanf(%s,); getchar(); printf(請(qǐng)你輸入性別(原來(lái)是%s):,p-data.sex); scanf(%s,p-data.sex); printf(請(qǐng)你輸入新的年齡(原來(lái)是%s):,p-data.nianling); scanf(%s,&p-data.nianling); getchar(); printf(請(qǐng)你輸入新的學(xué)

35、歷(原來(lái)是%s):,p-data.xueli); scanf(%s,&p-data.xueli); getchar(); printf(請(qǐng)你輸入新的工資(原來(lái)是%s):,p-data.gongzi); scanf(%s,&p-data.gongzi); getchar(); printf(請(qǐng)你輸入新的住址(原來(lái)是%s):,p-data.zhuzhi); scanf(%s,&p-data.zhuzhi); getchar(); printf(請(qǐng)你輸入新的電話號(hào)碼(原來(lái)是%s):,p-data.tel); scanf(%s,&p-data.tel); printf(n=提示:資料修改成功!n); shoudsave=1; else Nofind(); void Xianshi(Link l) /顯示 int count=0;Node *p; p=l-next; if(!p) printf(n=提示:沒(méi)有資料可以顯示!n); return; printf(tttt顯示結(jié)果n); printstart(); printc(); printf(n); while(p) printe(p); p=p-next; printstart(); printf(n); void Save(Link l) FILE* fp;Node *p; int

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論