版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> VC++6.0環(huán)境下 簡單的職工管理系統(tǒng) </p><p><b> 簡單的職工管理系統(tǒng)</b></p><p><b> 一、實(shí)驗(yàn)?zāi)康?lt;/b></p><p> ?。?)熟練掌握線性表基本操作及應(yīng)用。</p><p> (2)利用線性表實(shí)現(xiàn)簡單的職工管理系統(tǒng)。</
2、p><p><b> 二、實(shí)驗(yàn)內(nèi)容:</b></p><p><b> 【問題描述】</b></p><p> 對單位的職工進(jìn)行管理,包括插入、刪除、查找、排序等功能。</p><p><b> 【基本要求】</b></p><p> 職工對象包括
3、姓名、性別、出生年月、工作年月、學(xué)歷、職務(wù)、住址、電話等信息。</p><p> ?。?)新增一名職工:將新增職工對象按姓名以字典方式職工管理文件中。</p><p> ?。?)刪除一名職工:從職工管理文件中刪除一名職工對象。</p><p> (3)查詢:從職工管理文件中查詢符合某些條件的職工。</p><p> (4)修改:檢索某個職
4、工對象,對其某些屬性進(jìn)行修改。</p><p> ?。?)排序:按某種需要對職工對象文件進(jìn)行排序。</p><p><b> 【測試數(shù)據(jù)】</b></p><p> 自己指定。注意盡量覆蓋算法的各種情況。</p><p><b> 【實(shí)現(xiàn)提示】</b></p><p>
5、 職工對象數(shù)不必很多,便于一次讀入內(nèi)存,所有操作不經(jīng)過內(nèi)外存交換。</p><p> ?。?)由鍵盤輸入職工對象,以文件方式保存。程序執(zhí)行時先將文件讀入內(nèi)存。</p><p> (2)對職工對象中的"姓名"按字典順序進(jìn)行排序。</p><p> ?。?)對排序后的職工對象進(jìn)行增、刪、查詢、修改、排序等操作。</p><p&
6、gt;<b> 【選作內(nèi)容】</b></p><p> 將職工對象按散列法存儲,并設(shè)計(jì)解決沖突的方法。在此基礎(chǔ)上實(shí)現(xiàn)增、刪、查詢、修改、排序等操作。</p><p><b> 頭文件</b></p><p><b> /*生成單鏈表*/</b></p><p> in
7、t CreatList(Linklist &L)</p><p><b> {</b></p><p> Linklist h=NULL;</p><p> Linklist p=(Linklist)malloc(sizeof(LNode));</p><p> if(NULL==p)</p>
8、<p><b> {</b></p><p> printf("錄入失敗提示:內(nèi)存不足!\n");</p><p> return -1;</p><p><b> }</b></p><p> h=L->next;</p><p
9、><b> while(h)</b></p><p><b> {</b></p><p> if(h->name==p->name)</p><p><b> {</b></p><p><b> free(p);</b>&l
10、t;/p><p> printf("錄入失敗提示:此職工號已經(jīng)存在!\n");</p><p> return -1;</p><p><b> }</b></p><p> h=h->next;</p><p><b> }</b></
11、p><p> printf("請輸入員工姓名\n");</p><p> scanf("%s",p->name);</p><p> printf("請輸入員工性別\n");</p><p> scanf("%s",p->sex);</p&g
12、t;<p> printf("請輸入員工出生年月\n");</p><p> scanf("%s",p->birthdate);</p><p> printf("請輸入員工工作年月\n");</p><p> scanf("%s",p->workdat
13、e);</p><p> printf("請輸入員工學(xué)歷\n");</p><p> scanf("%s",p->edu);</p><p> printf("請輸入員工職務(wù)\n");</p><p> scanf("%s",p->duty);
14、</p><p> printf("請輸入員工電話\n");</p><p> scanf("%s",p->phone);</p><p> printf("請輸入員工地址\n");</p><p> scanf("%s",p->address
15、);</p><p> p->next=L->next;</p><p> L->next=p;</p><p> printf("錄入成功!\n");</p><p> return -1;</p><p><b> }</b></p>
16、<p> /*初始化單鏈表*/</p><p> int Initlist(Linklist &L)</p><p><b> {</b></p><p> L=(Linklist)malloc(sizeof(LNode));</p><p><b> if(!L)</b&
17、gt;</p><p> return (0);</p><p> L->next=NULL;</p><p> return OK;</p><p><b> }</b></p><p> /*顯示所有員工信息*/</p><p> void Displ
18、ay(Linklist &L)</p><p><b> {</b></p><p> Linklist p;</p><p> for(p=L->next;p;p=p->next)</p><p><b> {</b></p><p> pri
19、ntf("姓名 %s\n",p->name);</p><p> printf("性別 %s\n",p->sex);</p><p> printf("出生年月 %s\n",p->birthdate);</p><p> printf("工作年月 %s\n"
20、;,p->workdate);</p><p> printf("學(xué)歷 %s\n",p->edu);</p><p> printf("職務(wù) %s\n",p->duty);</p><p> printf("電話 %s\n",p->phone);</p>
21、<p> printf("地址 %s\n",p->address);</p><p> printf("============================\n");</p><p><b> }</b></p><p><b> }</b><
22、/p><p> /*出生年月查詢*/</p><p> int SearchBirthdate(Linklist &L,char birthdate[20])</p><p><b> {</b></p><p><b> LNode *p;</b></p><p&g
23、t;<b> p=L;</b></p><p><b> while(p)</b></p><p><b> {</b></p><p> if(strcmp(p->birthdate,birthdate)==0)</p><p><b> {<
24、/b></p><p> printf("姓名 %s\n",p->name);</p><p> printf("性別 %s\n",p->sex);</p><p> printf("出生年月 %s\n",p->birthdate);</p><p&g
25、t; printf("工作年月 %s\n",p->workdate);</p><p> printf("學(xué)歷 %s\n",p->edu);</p><p> printf("職務(wù) %s\n",p->duty);</p><p> printf("電話 %s\n&
26、quot;,p->phone);</p><p> printf("地址 %s\n",p->address);</p><p> return OK;</p><p><b> }</b></p><p> p=p->next;</p><p&
27、gt;<b> }</b></p><p> printf("沒有此人\n");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*姓名查詢*/</b>&
28、lt;/p><p> int SearchName(Linklist &L,char name[10])</p><p><b> {</b></p><p><b> LNode *p;</b></p><p><b> p=L;</b></p>&
29、lt;p><b> while(p)</b></p><p><b> {</b></p><p> if(strcmp(p->name,name)==0)</p><p><b> {</b></p><p> printf("姓名 %s\n
30、",p->name);</p><p> printf("性別 %s\n",p->sex);</p><p> printf("出生年月 %s\n",p->birthdate);</p><p> printf("工作年月 %s\n",p->workdate);
31、</p><p> printf("學(xué)歷 %s\n",p->edu);</p><p> printf("職務(wù) %s\n",p->duty);</p><p> printf("電話 %s\n",p->phone);</p><p> print
32、f("地址 %s\n",p->address);</p><p> return OK;</p><p><b> }</b></p><p> p=p->next;</p><p><b> }</b></p><p> prin
33、tf("沒有此人\n");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /* 性別查詢*/</b></p><p> void SearchSex(Linklist &
34、L,char sex[10])</p><p><b> {</b></p><p><b> LNode *p;</b></p><p><b> p=L;</b></p><p> int tag=1;</p><p><b>
35、while(p)</b></p><p><b> {</b></p><p> if(strcmp(p->sex,sex)==0)</p><p><b> {</b></p><p> printf("姓名 %s\n",p->name);&l
36、t;/p><p> printf("性別 %s\n",p->sex);</p><p> printf("出生年月 %s\n",p->birthdate);</p><p> printf("工作年月 %s\n",p->workdate);</p><p>
37、 printf("學(xué)歷 %s\n",p->edu);</p><p> printf("職務(wù) %s\n",p->duty);</p><p> printf("電話 %s\n",p->phone);</p><p> printf("地址 %s\n"
38、;,p->address);</p><p><b> tag=0;</b></p><p><b> }</b></p><p> p=p->next;</p><p><b> }</b></p><p> if(tag==1)
39、</p><p><b> {</b></p><p> printf("找不到符合此條件的職工!");</p><p><b> }</b></p><p><b> }</b></p><p><b> /*
40、地址查詢*/</b></p><p> int SearchAddress(Linklist &L,char address[30])</p><p><b> {</b></p><p><b> LNode *p;</b></p><p><b> p=L;
41、</b></p><p><b> while(p)</b></p><p><b> {</b></p><p> if(strcmp(p->address,address)==0)</p><p><b> {</b></p><
42、;p> printf("姓名 %s\n",p->name);</p><p> printf("性別 %s\n",p->sex);</p><p> printf("出生年月 %s\n",p->birthdate);</p><p> printf("工作年月
43、 %s\n",p->workdate);</p><p> printf("學(xué)歷 %s\n",p->edu);</p><p> printf("職務(wù) %s\n",p->duty);</p><p> printf("電話 %s\n",p->phone);
44、</p><p> printf("地址 %s\n",p->address);</p><p> return OK;</p><p><b> }</b></p><p> p=p->next;</p><p><b> }</b&g
45、t;</p><p> printf("沒有此人\n");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> /*姓名排序*/</b></p><p> v
46、oid SortName(Linklist &L ,char name[10])</p><p><b> { </b></p><p> Linklist La;</p><p> Linklist p,q,m;</p><p> La=(Linklist)malloc(sizeof(LNode))
47、;</p><p> La->next =NULL;</p><p> while(L->next)</p><p><b> {</b></p><p> for(q=L->next ,p=L->next ;p->next ;p=p->next )</p>&
48、lt;p><b> {</b></p><p> if((strcmp( p->next->name,q->name ))>0 )</p><p><b> {</b></p><p><b> m=p;</b></p><p> q=p
49、->next ; </p><p><b> }</b></p><p><b> }</b></p><p> if(q==L->next)</p><p><b> {</b></p><p> L->next =
50、L->next->next ;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> m->next =q->next ;</p><p>
51、;<b> }</b></p><p> q->next =La->next ;</p><p> La->next =q ;</p><p><b> }</b></p><p><b> L=La;</b></p><p>
52、; Display(L);</p><p><b> }</b></p><p><b> /*性別排序*/</b></p><p> void SortSex(Linklist &L ,char sex[10])</p><p><b> { </b>&
53、lt;/p><p> Linklist La;</p><p> Linklist p,q,m;</p><p> La=(Linklist)malloc(sizeof(LNode));</p><p> La->next =NULL;</p><p> while(L->next)</p>
54、;<p><b> {</b></p><p> for(q=L->next ,p=L->next ;p->next ;p=p->next )</p><p><b> {</b></p><p> if((strcmp( p->next->sex,q->s
55、ex))>0 )</p><p><b> {</b></p><p><b> m=p;</b></p><p> q=p->next ; </p><p><b> }</b></p><p><b> }&l
56、t;/b></p><p> if(q==L->next)</p><p><b> {</b></p><p> L->next =L->next->next ;</p><p><b> }</b></p><p><b>
57、 else</b></p><p><b> {</b></p><p> m->next =q->next ;</p><p><b> }</b></p><p> q->next =La->next ;</p><p>
58、La->next =q ;</p><p><b> }</b></p><p><b> L=La;</b></p><p> Display(L);</p><p><b> }</b></p><p> /*出生年月排序*/<
59、/p><p> void SortBirth(Linklist &L ,char birthdate[20])</p><p><b> { </b></p><p> Linklist La;</p><p> Linklist p,q,m;</p><p> La=(Link
60、list)malloc(sizeof(LNode));</p><p> La->next =NULL;</p><p> while(L->next)</p><p><b> {</b></p><p> for(q=L->next ,p=L->next ;p->next ;p
61、=p->next )</p><p><b> {</b></p><p> if((strcmp( p->next->birthdate,q->birthdate))>0 )</p><p><b> {</b></p><p><b> m=p;&
62、lt;/b></p><p> q=p->next ; </p><p><b> }</b></p><p><b> }</b></p><p> if(q==L->next)</p><p><b> {</b>
63、</p><p> L->next =L->next->next ;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> m->nex
64、t =q->next ;</p><p><b> }</b></p><p> q->next =La->next ;</p><p> La->next =q ;</p><p><b> }</b></p><p><b>
65、L=La;</b></p><p> Display(L);</p><p><b> }</b></p><p> /*工作年月排序*/</p><p> void SortWork(Linklist &L ,char workdate[20])</p><p>&l
66、t;b> { </b></p><p> Linklist La;</p><p> Linklist p,q,m;</p><p> La=(Linklist)malloc(sizeof(LNode));</p><p> La->next =NULL;</p><p> wh
67、ile(L->next)</p><p><b> {</b></p><p> for(q=L->next ,p=L->next ;p->next ;p=p->next )</p><p><b> {</b></p><p> if((strcmp( p-
68、>next->workdate,q->workdate))>0 )</p><p><b> {</b></p><p><b> m=p;</b></p><p> q=p->next ; </p><p><b> }</b>&l
69、t;/p><p><b> }</b></p><p> if(q==L->next)</p><p><b> {</b></p><p> L->next =L->next->next ;</p><p><b> }</b
70、></p><p><b> else</b></p><p><b> {</b></p><p> m->next =q->next ;</p><p><b> }</b></p><p> q->next =La
71、->next ;</p><p> La->next =q ;</p><p><b> }</b></p><p><b> L=La;</b></p><p> Display(L);</p><p><b> }</b><
72、;/p><p><b> /*更改*/</b></p><p> int Alter(Linklist &L,char name[10])</p><p><b> {</b></p><p><b> LNode *p;</b></p><p&
73、gt;<b> p=L;</b></p><p><b> while(p)</b></p><p><b> {</b></p><p> if(strcmp(p->name,name)==0)</p><p><b> {</b><
74、;/p><p> printf("請輸入員工姓名\n");</p><p> scanf("%s",p->name);</p><p> printf("請輸入員工性別\n");</p><p> scanf("%s",p->sex);</p
75、><p> printf("請輸入員工出生年月\n");</p><p> scanf("%s",p->birthdate);</p><p> printf("請輸入員工工作年月\n");</p><p> scanf("%s",p->workd
76、ate);</p><p> printf("請輸入員工學(xué)歷\n");</p><p> scanf("%s",p->edu);</p><p> printf("請輸入員工職務(wù)\n");</p><p> scanf("%s",p->duty
77、);</p><p> printf("請輸入員工電話\n");</p><p> scanf("%s",p->phone);</p><p> printf("請輸入員工地址\n");</p><p> scanf("%s",p->addre
78、ss);</p><p> return OK;</p><p><b> }</b></p><p> p=p->next;</p><p> } printf("沒有此人\n");</p><p><b> return 0;</b&
79、gt;</p><p><b> }</b></p><p><b> /*按姓名刪除*/</b></p><p> int Del(Linklist &L,char name[10])</p><p><b> {</b></p><p&g
80、t;<b> LNode *p;</b></p><p><b> LNode *r;</b></p><p> p=L->next;</p><p><b> r=L;</b></p><p><b> while(p)</b></
81、p><p><b> {</b></p><p> if(strcmp(p->name,name)==0)</p><p><b> {</b></p><p> r->next=p->next;</p><p><b> free(p);&
82、lt;/b></p><p> printf("刪除成功\n");</p><p> return OK;</p><p><b> }</b></p><p> p=p->next;</p><p> } printf("沒有此人\n&
83、quot;);</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 主函數(shù)</b></p><p> #include<stdio.h></p><p> #incl
84、ude<stdlib.h></p><p> #include<string.h></p><p> #define TRUE 1</p><p> #define FALSE -1</p><p> #define OK 1</p><p> #define ERROR 0</
85、p><p> #define OVERFLOW -2</p><p> typedef struct LNode</p><p><b> {</b></p><p> char name[10];</p><p> char sex[10];</p><p> c
86、har birthdate[20];</p><p> char workdate[20];</p><p> char edu[10];</p><p> char duty[10];</p><p> char phone[20];</p><p> char address[30];</p>
87、<p> struct LNode *next;</p><p> }*Linklist;</p><p> #include"Header.h";</p><p> void main()</p><p><b> {</b></p><p> Li
88、nklist L;</p><p><b> int a;</b></p><p> char name[10];</p><p> char sex[10];</p><p> char birthdate[20];</p><p> char workdate[20];</p&
89、gt;<p> char edu[10];</p><p> char duty[10];</p><p> char phone[20];</p><p> char address[30];</p><p> Initlist(L);</p><p><b> int y;<
90、;/b></p><p><b> int x=1;</b></p><p><b> while(x)</b></p><p><b> {</b></p><p> printf("\t\t******************************
91、***********\n\n");</p><p> printf("\t\t>>>>>>>>>歡迎進(jìn)入職工管理系統(tǒng)<<<<<<<<<<<<\n\n");</p><p> printf("\t\t***********
92、******************************\n");</p><p> printf("\t\t**************1-添加員工信息*************\n");</p><p> printf("\t\t**************2-查詢員工信息*************\n");</p>
93、<p> printf("\t\t**************3-排序員工信息*************\n");</p><p> printf("\t\t**************4-顯示員工信息*************\n");</p><p> printf("\t\t**************5-更改員工
94、信息*************\n");</p><p> printf("\t\t**************6-刪除員工信息*************\n");</p><p> printf("\t\t**************7-退 出*************\n");</p><p>
95、 printf("\t\t*****************************************\n");</p><p> printf("請選擇操作序號并按回車:");</p><p> scanf("%d",&y);</p><p><b> switch(y)&
96、lt;/b></p><p><b> {</b></p><p> case 1: CreatList(L);break;</p><p> case 2: printf("請輸入查詢方式(1按出生年月查詢,2按姓名查找,3按性別查找)");</p><p> scanf("
97、%d",&a);</p><p><b> if(a==1)</b></p><p><b> {</b></p><p> printf("請輸入查詢員工出生年月\n");</p><p> scanf("%s",&birt
98、hdate);</p><p> SearchBirthdate(L,birthdate);</p><p><b> }</b></p><p><b> if(a==2)</b></p><p><b> {</b></p><p> pr
99、intf("請輸入查詢員工姓名\n");</p><p> scanf("%s",&name);</p><p> SearchName(L,name);</p><p><b> }</b></p><p><b> if(a==3)</b>
100、</p><p><b> {</b></p><p> printf("請輸入查詢員工性別\n");</p><p> scanf("%s",&sex);</p><p> SearchSex(L,sex);</p><p><b&g
101、t; }</b></p><p><b> break;</b></p><p> case 3: printf("請選擇排序條件:1.姓名2.性別3出生年月0.退出\n");</p><p> scanf("%d",&a);</p><p><b
102、> if(a==1)</b></p><p><b> {</b></p><p> printf("姓名排序\n");</p><p> SortName(L,name);</p><p><b> }</b></p><p>
103、;<b> if(a==2)</b></p><p><b> {</b></p><p> printf("性別排序\n");</p><p> SortSex(L,sex);</p><p><b> }</b></p><
104、p><b> if(a==3)</b></p><p><b> {</b></p><p> printf("出生年月排序\n");</p><p> SortBirth(L,birthdate);</p><p><b> }</b>&
105、lt;/p><p><b> break;</b></p><p> case 4: printf("所有員工信息如下所示\n");</p><p> Display(L);</p><p><b> break;</b></p><p> case
106、 5: printf("請輸入更改員工姓名");</p><p> getchar();</p><p> scanf("%s",&name);</p><p> Alter(L,name);</p><p><b> break;</b></p>&
107、lt;p> case 6: printf("請輸入刪除員工姓名");</p><p> getchar();</p><p> scanf("%s",&name);</p><p> Del(L,name);</p><p><b> break;</b>&
108、lt;/p><p> case 7: x=0;</p><p><b> break;</b></p><p><b> default:</b></p><p> printf("請輸入正確序號!\n");</p><p><b> br
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- vc++6.0編程環(huán)境的基本使用
- vc++6.0使用方法
- vc++6.0培訓(xùn)教程(pdf完整版)
- vc++6.0——c、c++源文件創(chuàng)建方法
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報告---簡單的職工管理系統(tǒng)
- vc++課程設(shè)計(jì)---簡單計(jì)算器的設(shè)計(jì)
- vc++課程設(shè)計(jì)-- 餐飲管理系統(tǒng)
- 課程設(shè)計(jì)---簡單學(xué)生管理系統(tǒng)
- vc++課程設(shè)計(jì)報告---球員管理系統(tǒng)
- 職工管理系統(tǒng)課程設(shè)計(jì)報告
- 職工管理系統(tǒng)課程設(shè)計(jì)報告
- java課程設(shè)計(jì)簡單的班級管理系統(tǒng)
- 簡單投票管理系統(tǒng)課程設(shè)計(jì)報告
- 簡單的文件管理系統(tǒng)-c課程設(shè)計(jì)
- vc課程設(shè)計(jì)報告--教學(xué)事務(wù)管理系統(tǒng)
- 職工信息管理系統(tǒng)課程設(shè)計(jì)
- vb6.0環(huán)境下基于mo的太陽位置參數(shù)查詢系統(tǒng)的開發(fā)-畢業(yè)論文
- 職工信息管理系統(tǒng)課程設(shè)計(jì)
- 職工信息管理系統(tǒng)課程設(shè)計(jì)
- vc++課程設(shè)計(jì)報告--簡單科學(xué)計(jì)算器設(shè)計(jì)
評論
0/150
提交評論