員工管理程序_第1頁
員工管理程序_第2頁
員工管理程序_第3頁
員工管理程序_第4頁
員工管理程序_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、!j rt> rjw頭文件<?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <

2、?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <2> <2> i rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw

3、rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw j#include<stdio.h>#include<stdlib.h>#include<string.h>#define n 10()void menu_handle();/*函數(shù)處理菜單*/int menu_choose();/* 函數(shù)選擇菜單 */void input_worker();/*創(chuàng)

4、建文件并對工人信息輸入函數(shù)*/void save_file(int n);/*文件保存*/int load。;/*提取員工數(shù)*/void message_output();/*員工信息瀏覽函數(shù)*/void add_worker();/*員工添加函數(shù)*/void dele_worker();/*員工信息刪除函數(shù)*/void fine();/*員工信息查詢函數(shù)*/void fine_num();/*員工號查詢函數(shù)*/void fine_name();/*按姓名查詢函數(shù)*/void sort_age();/*按年齡排序函數(shù)*/void sort_pay();/*按工資排序函數(shù)*/ void sort

5、();/*排序函數(shù)處理*/void change(struct worker *p,int n);/*交換元素*/!j rt> rjw主函數(shù)<?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?&g

6、t; <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <2> <2> i rjw rjw rjw rjw

7、 rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw jvoid main()printf(nnttt°° 00 00 8計(jì)算機(jī)工程系 oooooo 8n”); printf(nntttttt 計(jì) ylll 班”); printf(nntttttt 朱 建

8、 國nn);menu_handle() ;/*調(diào)用菜單函數(shù)*/! <1* j rt> rjw菜單文件<t>< /rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw rj rjw j/ <jf <jf <jf <jf <jf <jf <j

9、f <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf <jf>

10、<z>jw菜單選擇函數(shù)弘<2!<t* 卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜etw>int menu_chooose()int shuzi;/*定義數(shù)字選擇的變量s*/char s2;/ printf(hnh);printf(mt oo oo8 8 8oo 8 oo oo oo oo oo8 888 8oo oo oo oo oo oo 8 oo oo oo oooooon»*);printf(ntprintf(nt*n”);printf(ht *nm);printf(nt*n“);printf(ht*nn);printf(ntprin

11、tf(nt*n”);printf(mt8oonn”);printf(m *n”);/* 選擇菜 單*/1員工信息輸入2 員工信息輸出3 添加員工信息4 刪除員工信息5 員工信息查詢6員工信息排序7.退出程序oo oo 8 oo oo oo oo oo oo oo oo oo oo oo oo oo oo oo oo oo oo oo 8 oo oo oo oo oorjw rjw rjw rjw rjw rjw rjw rjw 卜卜請選擇 1-7for(;)scanf(h%sh,s);/* 輸入數(shù)字*/ shuzi=atoi(s);/* 字符轉(zhuǎn)換*/ if(shuzi>7llshuzi&

12、lt;l)printf(nttt輸入錯誤nnttt請重新輸入17 ! nnttt退出請 按 7 !nn);elsebreak; return(shuzi);j rlw rlw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw ryw菜單處理函數(shù)<£&

13、gt; /r7w rxw >void menu_handle()switch ( menu_chooose() )/*調(diào)用菜單選擇函數(shù)*/case 1:print" 員工信息輸出n);input_worker();break;case 2:system(nclsn);printf(httt> 員工信息輸出 n”);message_output();break;case 3:system(hclsh);printf(httt 添加員工信息 nit);add_worker();break;case 4:system(nclsh);printf(mttt< 刪除員工信息

14、nn”); dele_worker();break;case 5:system(nclsn);printf(nttt> 員工信息查詢 nn”); fine();break;case 6:system(hclsh);printf(nttt> 員工信息排序 nn”); sort();break;case 7:system(nclsn);printf(h nnnnnnnnnnnnn'');printf(mtttprintf(ntttnm);printf(nttt7ir nn);printf(httt 謝謝使用* n”);printf(,fttt printf(mttt p

15、rintf(nttt printf(nttt再見 nn); nm);nnm);printf(mnnnnnnnnn);return;struct workerint num;/*員工號 */char name10;/*-姓名*/char sex10;/*性別 */int age;/*年齡 */char position10;/*-職位*/ int pay;/*工資 */workn;員工信息輸入函數(shù)9 i<t* 卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜rt* kvoid input_worker()/*定義一個員工信息輸入的函數(shù)*/i

16、nt n,i;printf(m輸入員工數(shù):”); scanf(h%dn,&n);file *fp; /*定義一個指向員工信息數(shù)組的指針文件*/if(fp=fopen(nworkermessage,hwbh)=null) /* 創(chuàng)建一個存儲員工信息 的文件*/printf(n不能打開該文件”);exit(o);for(p=work5i= 1 ;p<work+n;p+,i+)/* 輸入員工信息 */printf(nttt【輸入第 %d 名員工】nn,i);printf(na 入員工號:");scanf(h%dn,&p->num);printf(hnm);pri

17、nt"輸入姓名:j;scanf(n %sm,p->name);printf(hnh);printf輸入性別f);scanf(h%sm ,p->sex);printf(nnh);printf(n輸入年齡t);scanf(h%dh,&p->age);printf(mnn);printf(m輸入職位f);scanf ('' % s'' ,p->position);printf(mnn);printf輸入工資:”);scanf(n % d h,& p->pay);printf(mnnnn);fwrite(p,siz

18、eof(struct worker),l,fp);fclose(fp);printf(m 輸入完成 nnnnnn);/kj> k>/ rjw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw提取員工數(shù)? !" !" !

19、" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !" !&quo

20、t; !" !" !" !" !" !" !" !"itint ioad()/*定義一個能獲取員工數(shù)的函數(shù)*/file *fp;/*定義指針文件*/int i;struct worker *p=work;/*定義一個指向結(jié)構(gòu)體數(shù)組的指針*/if(fp=fopen(1 * workermessage * *,h rb h )=null) printf(n不能打開該文件”);exit(o);for(i=0;feof(fp)=0;i+) fread(p,sizeof(struct worker),l,fp); fclos

21、e(fp);return(i-l);/*以返還的形式找到員工數(shù)*/文件存儲函數(shù)void save_file(int n)/*定義一個文件儲存函數(shù)*/int i; file *fp;if(fp 二 fopenvworkennessagezjwbqhnull) /* 創(chuàng)建一個存儲員工信息的文件*/printf(h不能打開該文件”); exit(o);for(i=0;i<n;i+)fvvrite(&worki9sizeof(struct worker),l,fp);fclose(fp);j<4*員工信息瀏覽函數(shù)void message_output()/*員工信息輸出函數(shù)*/in

22、t n;/*定義一個員工數(shù)變量*/n=ioad();/*將員工數(shù)賦值給n*/struct worker *p;/*定義員工數(shù)組及指向員工的指針*/file *fp;if(fp=fopen(mworkermessagen,mrbn)=null)/* 打開存儲員工信息的文件printf不能打開該文件”); exit(o);printf(mntt員工號t姓名t性別t年齡t職位t工資nn);for(p=work;p<work+n;p+)fread(p,sizeof(struct worker),l,fp);/*讀文件*/printf(hntt%dt%st%st%dt%st%dnn,p->n

23、um,p->name,p->sex,p->age ,p->position,p->pay);/* 輸出員工信息 */fclose(fp);員工信息添加函數(shù)void add_worker()/*定義一個員工信息添加函數(shù)*/int n,m,i,j=l; /*定義添加的員員工數(shù)*/m=load();printf(m輸入添加多少名員工:j; scanfd'',&n); /*輸入員工數(shù)*/file *fp; /*定義一個指向員工信息數(shù)組的指針文件*/ struct worker *p;/*定義員工數(shù)組及指向員工的指針*/if(fp=fopen(hvv

24、orkermessage,mabn)=null) /* 創(chuàng)建一個存儲員工信息的文件*/printf(h不能打開該文件”);exit(o);for(p=work+m,i=m;i<n+m;i+,p+j 卄)/* 輸入員工信息*/ printf(nttt【輸入第%d名員工】nnnj); printf輸入員工號門; scanf(n%d,&p->num);printf(mnn);printf(h輸入姓名:");scanf(h%sh,p->name);printf(hnn);printf輸入性別:”);scanf(h % s h ,p->sex);printf(h

25、nm);print"輸入年齡:”);scanf(n % d n, & p->age);printf(hnh);printf(”輸入職位:”);scanfc * % s h ,p->position);printf(nnh);printf(n輸入工資t);scanf ('' % d ',&p->pay);printf(mnn);fwrite(p9sizeof(struct worker),l,fp);fclose(fp);printf(n 輸入完成 nnnnn”);j rlw rlw rjw rjw rjw rjw rjw rj

26、w rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw ryw 員工信息刪除函數(shù)/<1<t> <tw <void dele_worker()/*定義員工信息刪除函數(shù)*/int n,m,ij,flag,x;/*定義員工數(shù)變量、選擇數(shù)字、標(biāo)志*/char wk10;/*定義一個數(shù)組用于提醒

27、輸入錯誤*/struct worker *p;/*定義結(jié)構(gòu)體指針*/n=load() ;/*調(diào)用提取員工數(shù)的函數(shù)*/ message_output() ;/*調(diào)用員工信息輸出函數(shù)*/p=work;/*指針p指向結(jié)構(gòu)體數(shù)組*/loop:printft輸入要刪除的姓名”);scanf(m%sh,wk);for(i=0;i<n;i+)if(strcmp(p+i)->name,wk)=o)printf(m找到此人n此人原本信息:n”);flag=l;printf(nntt員工號t姓名t性別t年齡t職位t工資nm);printf(hntt%dt%st%st%dt%st%dnm,(p+i)-&

28、gt;num,(p+i)->name,(p+i)-> sex,(p+i)->age,(p+i)->position,(p+i)->pay);printf(hn是否刪除? n是請按1 n否請 按0nn); scanf(h%dm,&m);if(m=l)for(j=i;j<n-l;j+)/*(p+j)->num=(p+j+l)->num; strcpy(p+j)->name,(p+(j+l)->name); strcpy(p+j)->sex,(p+j+l)->sex);(p+j)>age,(p+j+l)>ag

29、e;strcpy(p+j)->position,(p+j+l)->position);(p+j)->pay,(p+j+l)->pay; n=load();*/workjenum=workj+l>num; strcpy(workjename,vvorkj+); str cpy( work j <sex, wor k j+1 >sex); workj>age=workj+l<age; strcpy(workjepositioii,workj+l.position); workj<pay=workj+l.pay;if(flag!

30、=l) printf(ntttt 查無此人!nn);if(flag=l)n=n-l;save_file(n);/* 保存文件*/message_output() ;/* 刷新數(shù)組*/printf(m繼續(xù)刪除請按(l)n退出請按(2)汕);/*選擇菜單*/ scanf(n%dm,&x);svvitch(x)case 1:goto loop; break;case 2:printf(hw謝使用! nm); break;員工信息查詢函數(shù)w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w <2tetw tw tw

31、 >void fine()nn退出查int m;/*定義變量提示輸入*/ char s10;/*定義一個數(shù)組用于提醒輸入*/printf(n按員工號査詢請按1:nn按姓名查詢請按2:詢請按3:nn);for(;尸防止輸入錯誤*/scanf(m%sh,s);/* 輸入數(shù)字*/m=atoi (s);/* 字符轉(zhuǎn)換*/if(m<lllm>3)printf(mttt輸入錯誤!請重新輸入l-3nn); elsebreak;switch(m)/*選擇查詢方式*/case 1:fine_num();/*調(diào)用按員工號查詢函數(shù)勺 break;case 2:fine_iiame();/*調(diào)用按姓

32、名查詢函數(shù)*/ break;case 3:printf(h謝謝使用! nh);break;<t> <t> j rlw rlw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw rjw ryw按員工號查詢函數(shù)<?> <?> &l

33、t;?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> &l

34、t;?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <?> <2> <£> / r7w rxw >void fine_num()q提醒輸入*/int m,n,q,x,flag;/*定義m存儲員工號,n表示員工數(shù),char s10;/* 用于提輸入*/struct worker *p;

35、/*結(jié)構(gòu)體指針*/ n=load();/*調(diào)用提取數(shù)組地址函數(shù)*/message_output() ;/*調(diào)用信息輸出函數(shù)*/ system(nclsn) ;/* 清屏 */loop:printf(”輸入要查詢的員工號:”);/*返回輸入*/scanf(h%dh,&m);for(p=work;p<work+n;p+)/*一個一個查詢 */if(m=p->num)/ii如果查到的數(shù)組與輸入的數(shù)組相同*/printf此員工信息如下:nnh);printf(nntt員工號t姓名t性別t年齡t職位t工資n”);printf(hntt%dt%st%st%dt%st%dnn,p->

36、;num,p->name,p->sex,p->age ,p->position,p->pay);flag=l;printfc1喳詢下一個請按n返回上一級請按(2)n退出請按(3)n”); scanf(h%dn,&x);system(hclsh);switch(x) /*用于選擇是否繼續(xù)查詢*/case 1:goto loop;break;case 2:fine();break;case 3:printf(hw謝使用! nm);break;if(flag!=l)printfc 喳無此人!it);for(; )/*用于防止輸入錯誤*/printf(hfi新輸入

37、請按退出請按n”); scanf(h%sh,s);/* 輸入數(shù)字*/ q=atoi(s);if(q<lllq>2) printf(h輸入錯誤! )n);elsebreak;switch(q) /*用于選擇是否繼續(xù)查詢*/case 1:goto loop;break;case 2:printf(h謝謝使用! nm);break;/ rjw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw

38、rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw按姓名查詢函數(shù)匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕匕/jvoid fine_name()int n,m,flag,x; /*定義n員工數(shù),m提醒輸入*/char name10,s10;/*定義數(shù)組name存儲需要查找的姓名,s用于提醒輸入*/struct worker *p;n=load();/*調(diào)用提取數(shù)組地址函數(shù)*/message_output();system(hclsh);loo

39、p: printf(nw入要查詢的姓名:”);/*返回輸入*/scanf(h%sn,name);for(p=work;p<work+n;p+)/*一個一個查詢 */if(strcmp(p->name,name)=o)/*如果結(jié)構(gòu)體數(shù)組與輸入的數(shù)組相同,輸 出該數(shù)組*/printf此員工信息如t:nnn);printf(nntt員工號t姓名t性別t年齡t職位t工資n”);printf(hntt%dt%st%st%dt%st%dnn,p->num,p->name,p->sex,p->age,p->position,p->pay);flag=l;pri

40、nt"查詢下一個請按(l)nn返回上一級請按(2)nn退出請按(3)nn);scanf(n%dn,&x);system('' cis'') ;/* 清屏 */switch(x) /*用于選擇是否繼續(xù)查詢*/case 1:goto loop;break;case 2:fine();break;case 3:printf(h謝謝使用! nn);break;printf(h查無此人!");for(; ; )/*防止輸入錯誤*/printf(mn重新輸入請按退出請按(2)nm); scanf(h%sh,s);/* 輸入數(shù)字*/m=atoi(s

41、);if(m<lllm>2)printf輸入錯誤! nh);elsebreak;switch(m)/*選擇是否返回*/case 1:goto loop;break;case 2:break;按年齡排序函數(shù)“ 9 i<t* 卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜卜rt* kvoid sort_age()int n,ij,x,y,m;/*定義員工數(shù)n,中間變量t,和循環(huán)變量i、j、y用于選擇菜 單*/struct worker t;/*中間變量*/n=load();/*調(diào)用函數(shù)賦值員工數(shù)*/message_output()

42、;system(hclsh);loop:printf(mttt從大到小排序請按(1)nnttt從小到大排序請按(2)nnu);scanf(m%dh,&m);switch(m)case 1:for(i=0;i<n-l;i+)/*二次循環(huán)大到小排序*/for(x=i+l;x<n;x+)if(workx<age>workieage)t=workx; vvorkx=worki; vvorki=t;break;case 2:/*二次循環(huán)小到大排序*/for(i=0;i<n-l;i+)for (x=1+i ;x<n ;x+) if(workx>age<

43、;worki.age) t=workx; workx=worki; worki=t;break;printf(nntt員工號t姓名t性別t年齡t職位t工資n”); for(j=0;j<n;j+)/*輸出排序后的信息旬printf(nntt%dt%st%st%dt%st%dnfworkj.num,,workj.sex,workjeage,workj>position,workjepay);printf(n返回上一級請按(1) n返回排序方式選擇請按(2)n退出請按 (3)nnn);scanf(n%dn,&y);system(hclsh);/* 清屏 */s witch(y )/*選擇是否返回*/case 1:goto loop;break;case 2:sort();break;case 3:printf(nttt 謝謝使用nn);break;/ rjw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rtw rt

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論