簡(jiǎn)單的員工管理系統(tǒng)參考模板_第1頁(yè)
簡(jiǎn)單的員工管理系統(tǒng)參考模板_第2頁(yè)
簡(jiǎn)單的員工管理系統(tǒng)參考模板_第3頁(yè)
簡(jiǎn)單的員工管理系統(tǒng)參考模板_第4頁(yè)
簡(jiǎn)單的員工管理系統(tǒng)參考模板_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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、簡(jiǎn)單的員工管理系統(tǒng)1、問(wèn)題描述: 對(duì)單位的職工進(jìn)行管理,包括插入、刪除、查找、排序等功能。2、要求 : 職工對(duì)象包括姓名(字符串)、性別(字符)、出生年月(數(shù)字)、工作年月(數(shù)字)、學(xué)歷(字符串)、職務(wù)(字符串)、住址(字符串)、電話(字符串)等信息。 (1)新增一名職工:將新增職工對(duì)象按姓名以字典方式職工管理文件中。 (2)刪除一名職工:從職工管理文件中刪除一名職工對(duì)象。 (3)查詢:從職工管理文件中查詢符合某些條件的職工。 (4)修改:檢索某個(gè)職工對(duì)象,對(duì)其某些屬性進(jìn)行修改。 (5)排序:按某種需要對(duì)職工對(duì)象文件進(jìn)行排序。 3、實(shí)現(xiàn)功能 (1)由鍵盤(pán)輸入職工對(duì)象,以文件方式保存。程序執(zhí)行時(shí)

2、先將文件讀入內(nèi)存。 (2)對(duì)職工對(duì)象中的“姓名”按字典順序進(jìn)行排序。 (3)對(duì)排序后的職工對(duì)象進(jìn)行增、刪、查詢、修改、排序等操作。4、代碼:#include #include #include #include typedef struct worker 1 / 12 int id; char name20; char sex3; int age; char edu50; int wages; char adr255; char phone13;WORKER, *PWORKER; /typedef struct WORKER *PWORKER;typedef struct link WORKE

3、R w; struct link *next; LINK, *PLINK; /typedef struct LINK *PLINK; /*創(chuàng)建職工信息鏈表*/PLINK create() PLINK p=(PLINK)malloc(sizeof(LINK); if(NULL!=p) p-next=NULL; return p; printf(內(nèi)存不足!n); return NULL; /*顯示程序界面文字*/ void message() printf(tt*nn); printf(tt歡迎進(jìn)入職工管理系統(tǒng)next; curr != NULL; curr = curr-next) if(str

4、cmp(, str) = 0) printf(職工工號(hào):%dn,curr-w.id); printf(職工姓名:%sn,); printf(職工性別:%sn,curr-w.sex); printf(職工年齡:%dn,curr-w.age); printf(職工學(xué)歷:%sn,); printf(職工工資:%dn,curr-w.wages); printf(職工住址:%sn,curr-w.adr); printf(職工電話:%sn,curr-w.phone); void findid(PLINK plink, int id) for(P

5、LINK curr = plink-next; curr != NULL; curr = curr-next) if(curr-w.id = id) printf(職工工號(hào):%dn,curr-w.id); printf(職工姓名:%sn,); printf(職工性別:%sn,curr-w.sex); printf(職工年齡:%dn,curr-w.age); printf(職工學(xué)歷:%sn,); printf(職工工資:%dn,curr-w.wages); printf(職工住址:%sn,curr-w.adr); printf(職工電話:%sn,curr

6、-w.phone); void show(PLINK plink) for(PLINK curr = plink-next; curr != NULL; curr = curr-next) printf(職工工號(hào):%dn,curr-w.id); printf(職工姓名:%sn,); printf(職工性別:%sn,curr-w.sex); printf(職工年齡:%dn,curr-w.age); printf(職工學(xué)歷:%sn,); printf(職工工資:%dn,curr-w.wages); printf(職工住址:%sn,curr-w.adr);

7、printf(職工電話:%sn,curr-w.phone); /*錄入職工信息*/int add(PLINK p) PLINK h = NULL; PLINK q=(PLINK)malloc(sizeof(LINK); if(NULL=q) printf(錄入失敗提示:內(nèi)存不足!n); return -1; printf(請(qǐng)輸入職工號(hào)(數(shù)字):); scanf(%d,&q-w.id); h=p-next; while(h) if(h-w.id=q-w.id) free(q); printf(錄入失敗提示:此職工號(hào)已經(jīng)存在!n); return -1; h=h-next; printf(請(qǐng)輸入職

8、工姓名(文字):); scanf(%s,&); printf(請(qǐng)輸入職工性別(文字):); scanf(%s,&q-w.sex); printf(請(qǐng)輸入職工年齡(數(shù)字):); scanf(%d,&q-w.age); printf(請(qǐng)輸入職工學(xué)歷(文字):); scanf(%s,&); printf(請(qǐng)輸入職工工資(數(shù)字):); scanf(%d,&q-w.wages); printf(請(qǐng)輸入職工住址(文字):); scanf(%s,&q-w.adr); printf(請(qǐng)輸入職工電話(數(shù)字):); scanf(%s,&q-w.phone); q-next=p-nex

9、t; p-next=q; printf(._.錄入成功!._.n); return -1; /*按姓名查詢*/ PLINK findname(PLINK p,char *name) message(); printf(按姓名 查詢n); printf(職工號(hào)t姓名t性別t年齡t學(xué)歷t工資t住址t電話n); while(NULL!=p-next) if(0=strcmp(,name) printf(%dt%st%st%dt%st%dt%st%sn, p-next-w.id,,p-next-w.sex,p-next-w.adr, p-next-w

10、.edu,p-next-w.wages,p-next-w.adr,p-next-w.phone); return p; p=p-next; printf(._.查詢結(jié)束!._.n); return NULL; /*按職工號(hào)刪除職工信息*/ int del(PLINK p,int id) message(); printf(按職工號(hào)刪除職工信息n); while(NULL!=p-next) if(p-next-w.id=id) PLINK q=p-next; p-next=p-next-next; free(q); printf(._.刪除成功!._.n); return 1; p=p-next

11、; printf(沒(méi)有你輸入的職工號(hào)!n); return -1; /*程序結(jié)束釋放內(nèi)存*/ void release(PLINK p) PLINK q; while(NULL!=p-next) q=p; p=p-next; free(q); free(p); /*查詢調(diào)用*/ void search() int id; char name20; char str20; PLINK pworker; int l; printf(tttt*姓名查找按:1*n); printf(tttt*學(xué)歷查找按:2*n); printf(tttt*職工號(hào)查按:3*n); scanf(%d,&l); if(l0

12、&lnext; while(h) if(h-w.id=id) break; h=h-next; if (h = NULL) printf(找不到此職工,請(qǐng)重試n); return -1; printf(請(qǐng)輸入職工姓名(文字):); scanf(%s,&); printf(請(qǐng)輸入職工性別(文字):); scanf(%s,&h-w.sex); printf(請(qǐng)輸入職工年齡(數(shù)字):); scanf(%d,&h-w.age); printf(請(qǐng)輸入職工學(xué)歷(文字):); scanf(%s,&); printf(請(qǐng)輸入職工工資(數(shù)字):); scanf(%d,&h-w.w

13、ages); printf(請(qǐng)輸入職工住址(文字):); scanf(%s,&h-w.adr); printf(請(qǐng)輸入職工電話(數(shù)字):); scanf(%s,&h-w.phone); q-next=p-next; p-next=q; printf(._.修改成功!._.n); return -1; int main() int cmd=0; int id; char name20; char str20; PLINK pworker; if(!(pworker=create() exit(0); while(cmd!=-1) switch(cmd) case 0: message(); br

14、eak; case 1: add(pworker); break; case 2: show(pworker); break; case 3: search(); break; case 4: printf(請(qǐng)輸入要?jiǎng)h除的職工號(hào):); scanf(%d,&id); del(pworker,id); break; case 5: modify(pworker); break; case 6: message(); break; printf(請(qǐng)輸入操作命令數(shù)字:n); scanf(%d,&cmd); printf(tt謝謝使用nn); release(pworker); return 0;4.測(cè)

15、試結(jié)果:5總結(jié): 本次課程設(shè)計(jì)是圍繞數(shù)據(jù)結(jié)構(gòu)進(jìn)行。根據(jù)問(wèn)題描述可知,需要解決問(wèn)題并不復(fù)雜,整個(gè)問(wèn)題只需要實(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)的功能,但是仍然存在不如人意的地方。那就是可以排序上面多設(shè)計(jì)幾個(gè)算法。實(shí)現(xiàn)多角度排序。在這個(gè)系統(tǒng)中沒(méi)有職工序號(hào)的信息,所以允許職工姓名相同,在很大程度上面,可能是的職工信息重復(fù)。 經(jīng)過(guò)這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),我們不僅及時(shí)鞏固的了數(shù)據(jù)結(jié)構(gòu)、算法、以及軟件工程的知識(shí),并明白數(shù)據(jù)結(jié)構(gòu)和算法對(duì)于程序時(shí)間和空間性能的影響,及軟件工程提供的

溫馨提示

  • 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)論