




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 vc+6.0環(huán)境下 簡(jiǎn)單的職工管理系統(tǒng) 簡(jiǎn)單的職工管理系統(tǒng)一、實(shí)驗(yàn)?zāi)康模?)熟練掌握線性表基本操作及應(yīng)用。(2)利用線性表實(shí)現(xiàn)簡(jiǎn)單的職工管理系統(tǒng)。二、實(shí)驗(yàn)內(nèi)容:【問題描述】對(duì)單位的職工進(jìn)行管理,包括插入、刪除、查找、排序等功能?!净疽蟆柯毠?duì)象包括姓名、性別、出生年月、工作年月、學(xué)歷、職務(wù)、住址、電話等信息。(1)新增一名職工:將新增職工對(duì)象按姓名以字典方式職工管理文件中。(2)刪除一名職工:從職工管理文件中刪除一名職工對(duì)象。(3)查詢:從職工管理文件中查詢符合某些條件的職工。(4)修改:檢索某個(gè)職工對(duì)象,對(duì)其某些屬性進(jìn)行修改。(5)排序:按某種需要對(duì)職工對(duì)象文件進(jìn)行排序?!緶y(cè)試數(shù)據(jù)】自
2、己指定。注意盡量覆蓋算法的各種情況?!緦?shí)現(xiàn)提示】職工對(duì)象數(shù)不必很多,便于一次讀入內(nèi)存,所有操作不經(jīng)過內(nèi)外存交換。(1)由鍵盤輸入職工對(duì)象,以文件方式保存。程序執(zhí)行時(shí)先將文件讀入內(nèi)存。(2)對(duì)職工對(duì)象中的姓名按字典順序進(jìn)行排序。(3)對(duì)排序后的職工對(duì)象進(jìn)行增、刪、查詢、修改、排序等操作?!具x作內(nèi)容】將職工對(duì)象按散列法存儲(chǔ),并設(shè)計(jì)解決沖突的方法。在此基礎(chǔ)上實(shí)現(xiàn)增、刪、查詢、修改、排序等操作。頭文件/*生成單鏈表*/int creatlist(linklist &l)linklist h=null;linklist p=(linklist)malloc(sizeof(lnode);if(null=p
3、)printf(錄入失敗提示:內(nèi)存不足!n); return -1; h=l-next;while(h) if(h-name=p-name) free(p); printf(錄入失敗提示:此職工號(hào)已經(jīng)存在!n); return -1; h=h-next; printf(請(qǐng)輸入員工姓名n);scanf(%s,p-name); printf(請(qǐng)輸入員工性別n); scanf(%s,p-sex); printf(請(qǐng)輸入員工出生年月n);scanf(%s,p-birthdate); printf(請(qǐng)輸入員工工作年月n);scanf(%s,p-workdate); printf(請(qǐng)輸入員工學(xué)歷n); s
4、canf(%s,p-edu); printf(請(qǐng)輸入員工職務(wù)n);scanf(%s,p-duty);printf(請(qǐng)輸入員工電話n);scanf(%s,p-phone); printf(請(qǐng)輸入員工地址n);scanf(%s,p-address);p-next=l-next;l-next=p; printf(錄入成功!n); return -1;/*初始化單鏈表*/int initlist(linklist &l)l=(linklist)malloc(sizeof(lnode);if(!l)return (0);l-next=null;return ok;/*顯示所有員工信息*/void dis
5、play(linklist &l)linklist p;for(p=l-next;p;p=p-next)printf(姓名 %sn,p-name);printf(性別 %sn,p-sex);printf(出生年月 %sn,p-birthdate);printf(工作年月 %sn,p-workdate);printf(學(xué)歷 %sn,p-edu);printf(職務(wù) %sn,p-duty);printf(電話 %sn,p-phone);printf(地址 %sn,p-address); printf(=n);/*出生年月查詢*/int searchbirthdate(linklist &l,cha
6、r birthdate20)lnode *p;p=l;while(p)if(strcmp(p-birthdate,birthdate)=0)printf(姓名 %sn,p-name);printf(性別 %sn,p-sex);printf(出生年月 %sn,p-birthdate); printf(工作年月 %sn,p-workdate);printf(學(xué)歷 %sn,p-edu);printf(職務(wù) %sn,p-duty);printf(電話 %sn,p-phone);printf(地址 %sn,p-address); return ok;p=p-next;printf(沒有此人n);retu
7、rn 0;/*姓名查詢*/int searchname(linklist &l,char name10)lnode *p;p=l;while(p)if(strcmp(p-name,name)=0)printf(姓名 %sn,p-name);printf(性別 %sn,p-sex);printf(出生年月 %sn,p-birthdate); printf(工作年月 %sn,p-workdate);printf(學(xué)歷 %sn,p-edu);printf(職務(wù) %sn,p-duty);printf(電話 %sn,p-phone);printf(地址 %sn,p-address); return ok
8、; p=p-next;printf(沒有此人n);return 0;/* 性別查詢*/void searchsex(linklist &l,char sex10)lnode *p;p=l;int tag=1;while(p)if(strcmp(p-sex,sex)=0)printf(姓名 %sn,p-name);printf(性別 %sn,p-sex);printf(出生年月 %sn,p-birthdate); printf(工作年月 %sn,p-workdate);printf(學(xué)歷 %sn,p-edu);printf(職務(wù) %sn,p-duty);printf(電話 %sn,p-phone
9、);printf(地址 %sn,p-address);tag=0;p=p-next;if(tag=1)printf(找不到符合此條件的職工!);/* 地址查詢*/int searchaddress(linklist &l,char address30)lnode *p;p=l;while(p)if(strcmp(p-address,address)=0) printf(姓名 %sn,p-name);printf(性別 %sn,p-sex);printf(出生年月 %sn,p-birthdate); printf(工作年月 %sn,p-workdate);printf(學(xué)歷 %sn,p-edu)
10、;printf(職務(wù) %sn,p-duty);printf(電話 %sn,p-phone);printf(地址 %sn,p-address);return ok;p=p-next;printf(沒有此人n);return 0;/*姓名排序*/void sortname(linklist &l ,char name10) linklist la;linklist p,q,m; la=(linklist)malloc(sizeof(lnode);la-next =null;while(l-next) for(q=l-next ,p=l-next ;p-next ;p=p-next )if(strc
11、mp( p-next-name,q-name )0 )m=p;q=p-next ; if(q=l-next)l-next =l-next-next ;elsem-next =q-next ;q-next =la-next ;la-next =q ;l=la;display(l);/*性別排序*/void sortsex(linklist &l ,char sex10) linklist la;linklist p,q,m; la=(linklist)malloc(sizeof(lnode);la-next =null;while(l-next) for(q=l-next ,p=l-next ;
12、p-next ;p=p-next )if(strcmp( p-next-sex,q-sex)0 )m=p;q=p-next ; if(q=l-next)l-next =l-next-next ;elsem-next =q-next ;q-next =la-next ;la-next =q ;l=la;display(l);/*出生年月排序*/void sortbirth(linklist &l ,char birthdate20) linklist la;linklist p,q,m; la=(linklist)malloc(sizeof(lnode);la-next =null;while(
13、l-next) for(q=l-next ,p=l-next ;p-next ;p=p-next )if(strcmp( p-next-birthdate,q-birthdate)0 )m=p;q=p-next ; if(q=l-next)l-next =l-next-next ;elsem-next =q-next ;q-next =la-next ;la-next =q ;l=la;display(l);/*工作年月排序*/void sortwork(linklist &l ,char workdate20) linklist la;linklist p,q,m; la=(linklist
14、)malloc(sizeof(lnode);la-next =null;while(l-next) for(q=l-next ,p=l-next ;p-next ;p=p-next )if(strcmp( p-next-workdate,q-workdate)0 )m=p;q=p-next ; if(q=l-next)l-next =l-next-next ;elsem-next =q-next ;q-next =la-next ;la-next =q ;l=la;display(l);/*更改*/int alter(linklist &l,char name10)lnode *p;p=l;w
15、hile(p)if(strcmp(p-name,name)=0) printf(請(qǐng)輸入員工姓名n);scanf(%s,p-name);printf(請(qǐng)輸入員工性別n);scanf(%s,p-sex);printf(請(qǐng)輸入員工出生年月n);scanf(%s,p-birthdate); printf(請(qǐng)輸入員工工作年月n);scanf(%s,p-workdate);printf(請(qǐng)輸入員工學(xué)歷n);scanf(%s,p-edu);printf(請(qǐng)輸入員工職務(wù)n);scanf(%s,p-duty);printf(請(qǐng)輸入員工電話n);scanf(%s,p-phone);printf(請(qǐng)輸入員工地址n)
16、;scanf(%s,p-address);return ok; p=p-next; printf(沒有此人n); return 0; /*按姓名刪除*/int del(linklist &l,char name10)lnode *p;lnode *r;待添加的隱藏文字內(nèi)容2p=l-next;r=l; while(p)if(strcmp(p-name,name)=0)r-next=p-next; free(p); printf(刪除成功n);return ok; p=p-next; printf(沒有此人n); return 0;主函數(shù)#include#include#include#defin
17、e true 1#define false -1#define ok 1#define error 0#define overflow -2typedef struct lnodechar name10;char sex10;char birthdate20;char workdate20;char edu10;char duty10;char phone20;char address30;struct lnode *next;*linklist;#includeheader.h;void main()linklist l;int a;char name10; char sex10;char
18、birthdate20;char workdate20;char edu10;char duty10;char phone20;char address30;initlist(l);int y;int x=1;while(x)printf(tt*nn); printf(tt歡迎進(jìn)入職工管理系統(tǒng)nn); printf(tt*n); printf(tt*1-添加員工信息*n);printf(tt*2-查詢員工信息*n); printf(tt*3-排序員工信息*n);printf(tt*4-顯示員工信息*n);printf(tt*5-更改員工信息*n);printf(tt*6-刪除員工信息*n); printf(tt*7-退 出*n); printf(tt*n); printf(請(qǐng)選擇操作序號(hào)并按回車:);scanf(%d,&y);switch(y)case 1: creatlist(l);break;case 2: printf(請(qǐng)輸入查詢方式(1按出生年月查詢,2按姓名查找,3按性別查找);scanf(%d,&a);if(a=1)printf(請(qǐ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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 獸醫(yī)病理解剖練習(xí)題庫+答案
- 保育員(中級(jí))模擬題及參考答案
- 年終總結(jié):亮點(diǎn)與痛點(diǎn)
- 臨床醫(yī)學(xué)西醫(yī)學(xué)生理學(xué)試題庫含參考答案
- 果汁店創(chuàng)業(yè)計(jì)劃書
- 2025年螺旋型熒光燈管項(xiàng)目發(fā)展計(jì)劃
- 2024-2025學(xué)年人教版高一化學(xué)必修第二冊(cè)教學(xué)課件 6.2.2化學(xué)反應(yīng)的限度 化學(xué)反應(yīng)條件的控制
- 如何做好一個(gè)銷售經(jīng)理述職報(bào)告
- ps外包合同范例
- 新員工工作總結(jié)-市政工作匯報(bào)
- 2023年安徽審計(jì)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫及答案解析
- LS/T 3311-2017花生醬
- 蘇教版二年級(jí)科學(xué)下冊(cè)第10課《認(rèn)識(shí)工具》教案(定稿)
- GB/T 40262-2021金屬鍍膜織物金屬層結(jié)合力的測(cè)定膠帶法
- GB/T 3279-2009彈簧鋼熱軋鋼板
- GB/T 16823.3-2010緊固件扭矩-夾緊力試驗(yàn)
- 應(yīng)用文寫作-第四章公務(wù)文書(請(qǐng)示報(bào)告)課件
- Premiere-視頻剪輯操作-課件
- PDCA降低I類切口感染發(fā)生率
- 麻醉藥理學(xué)阿片類鎮(zhèn)痛藥PPT
- 新湘版小學(xué)科學(xué)四年級(jí)下冊(cè)教案(全冊(cè))
評(píng)論
0/150
提交評(píng)論