




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 vc+6.0環(huán)境下 簡單的職工管理系統(tǒng) 簡單的職工管理系統(tǒng)一、實(shí)驗(yàn)?zāi)康模?)熟練掌握線性表基本操作及應(yīng)用。(2)利用線性表實(shí)現(xiàn)簡單的職工管理系統(tǒng)。二、實(shí)驗(yàn)內(nèi)容:【問題描述】對單位的職工進(jìn)行管理,包括插入、刪除、查找、排序等功能。【基本要求】職工對象包括姓名、性別、出生年月、工作年月、學(xué)歷、職務(wù)、住址、電話等信息。(1)新增一名職工:將新增職工對象按姓名以字典方式職工管理文件中。(2)刪除一名職工:從職工管理文件中刪除一名職工對象。(3)查詢:從職工管理文件中查詢符合某些條件的職工。(4)修改:檢索某個職工對象,對其某些屬性進(jìn)行修改。(5)排序:按某種需要對職工對象文件進(jìn)行排序?!緶y試數(shù)據(jù)】自
2、己指定。注意盡量覆蓋算法的各種情況?!緦?shí)現(xiàn)提示】職工對象數(shù)不必很多,便于一次讀入內(nèi)存,所有操作不經(jīng)過內(nèi)外存交換。(1)由鍵盤輸入職工對象,以文件方式保存。程序執(zhí)行時先將文件讀入內(nèi)存。(2)對職工對象中的姓名按字典順序進(jìn)行排序。(3)對排序后的職工對象進(jìn)行增、刪、查詢、修改、排序等操作?!具x作內(nèi)容】將職工對象按散列法存儲,并設(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(錄入失敗提示:此職工號已經(jīng)存在!n); return -1; h=h-next; printf(請輸入員工姓名n);scanf(%s,p-name); printf(請輸入員工性別n); scanf(%s,p-sex); printf(請輸入員工出生年月n);scanf(%s,p-birthdate); printf(請輸入員工工作年月n);scanf(%s,p-workdate); printf(請輸入員工學(xué)歷n); s
4、canf(%s,p-edu); printf(請輸入員工職務(wù)n);scanf(%s,p-duty);printf(請輸入員工電話n);scanf(%s,p-phone); printf(請輸入員工地址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(請輸入員工姓名n);scanf(%s,p-name);printf(請輸入員工性別n);scanf(%s,p-sex);printf(請輸入員工出生年月n);scanf(%s,p-birthdate); printf(請輸入員工工作年月n);scanf(%s,p-workdate);printf(請輸入員工學(xué)歷n);scanf(%s,p-edu);printf(請輸入員工職務(wù)n);scanf(%s,p-duty);printf(請輸入員工電話n);scanf(%s,p-phone);printf(請輸入員工地址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(請選擇操作序號并按回車:);scanf(%d,&y);switch(y)case 1: creatlist(l);break;case 2: printf(請輸入查詢方式(1按出生年月查詢,2按姓名查找,3按性別查找);scanf(%d,&a);if(a=1)printf(請輸
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)戰(zhàn)略合作協(xié)議書
- 2025年工業(yè)清新劑合作協(xié)議書
- 旅游目的地文化與景點(diǎn)知識練習(xí)題
- 三農(nóng)金融服務(wù)支持政策匯編
- 2025年安徽體育運(yùn)動職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫完整
- 混凝土相關(guān)知識培訓(xùn)課件
- 2025年安徽電子信息職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫新版
- 健身房員工守則勞動合同
- 2025年阿壩職業(yè)學(xué)院單招職業(yè)技能測試題庫一套
- 三農(nóng)田水利設(shè)施水土保持方案
- 2.0MWp屋頂太陽能分布式光伏發(fā)電項(xiàng)目監(jiān)理大綱2
- 小學(xué)夢想開《去遠(yuǎn)方》教學(xué)設(shè)計(jì)
- Q∕SY 06349-2019 油氣輸送管道線路工程施工技術(shù)規(guī)范
- CEO自戀及其經(jīng)濟(jì)后果研究:以格力電器為例
- 紅土鎳礦濕法冶煉技術(shù)綜述
- 六鑫伺服刀塔說明書LS系列
- 19.骨折術(shù)后內(nèi)固定取出臨床路徑
- 水利水電工程金屬結(jié)構(gòu)與機(jī)電設(shè)備安裝安全技術(shù)規(guī)程
- 腎內(nèi)科臨床診療規(guī)范(南方醫(yī)院)
- 珍愛生命 安全第一 中小學(xué)主題教育班會
- 二十八星宿(課堂PPT)
評論
0/150
提交評論