職工工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
職工工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)
職工工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)
職工工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)
職工工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、PAGE 53 -目錄一、需求分析2二、概要設(shè)計(jì)2三、詳細(xì)設(shè)計(jì)5四、調(diào)試分析18五、用戶(hù)手冊(cè)19六、測(cè)試數(shù)據(jù)19七、附錄23需求分析職工工資管理系統(tǒng) 功能設(shè)計(jì)要求 (1)輸入記錄:將每一個(gè)職工的姓名、ID號(hào)以及基本工資、職務(wù)工資、崗位津貼、醫(yī)療保險(xiǎn)、公積金的數(shù)據(jù)作為一個(gè)記錄。該軟件能建立一個(gè)新的數(shù)據(jù)文件或給已建立好的數(shù)據(jù)文件增加記錄。(2)顯示記錄:根據(jù)用戶(hù)提供的記錄或者根據(jù)職工姓名顯示一個(gè)或幾個(gè)職工的各項(xiàng)工資和平均工資。(3)修改記錄:可以對(duì)數(shù)據(jù)文件的任意記錄的數(shù)據(jù)進(jìn)行修改并在修改前后對(duì)記錄內(nèi)容進(jìn)行顯示。(4)查找記錄:可以對(duì)數(shù)據(jù)文件的任意記錄的數(shù)據(jù)進(jìn)行查找并在查找前后對(duì)記錄內(nèi)容進(jìn)行顯示。

2、(5)刪除記錄:可刪除數(shù)據(jù)文件中的任一記錄。 (6) 統(tǒng)計(jì): (A)計(jì)算各項(xiàng)工資平均工資及總工資, (B)統(tǒng)計(jì)符合指定條件(如職工工資前三項(xiàng)之和在3000元以上、30002000元、20001000元) 以?xún)?nèi)的工資職工人數(shù)及占總職工人數(shù)的百分比。(C)按字符表格形式打印全部職工工資信息表及平均工資(包括各項(xiàng)總的平均工資)。 (7)保存數(shù)據(jù)文件功能。 例如:職工工資信息表 ID號(hào) 姓名 基本工資 職務(wù)工資 津貼 醫(yī)療保險(xiǎn)- 公積金- 總工資 01 張望 1286 794 198 109 135 2034 02 李明 1185 628 135 94 114 1740 03 王小民 895 438

3、98 64 73 1294 04 張效章 1350 868 210 116 150 2162 05 彭山 745 398 84 61 68 1098 各項(xiàng)平均工資 1092.2 625.2 145 88.8 108(要求:1.源文件采用多文件的工程結(jié)構(gòu)2.數(shù)據(jù)存儲(chǔ)采用文件形式3.標(biāo)準(zhǔn)的C輸入輸出4.功能完善,適當(dāng)?shù)淖⑨專(zhuān)?.關(guān)于文件的內(nèi)容需要自學(xué))二、概要設(shè)計(jì)1、程序總體功能框架:總量顯示總量顯示主菜單主菜單查找功能顯示功能刪除功能輸入功能退出程序添加功能修改功能按姓名刪除按工號(hào)查找修改工號(hào)修改姓名資資修改醫(yī)療保險(xiǎn)修改津貼修改公積金按姓名查找按工號(hào)刪除2、一些數(shù)據(jù)結(jié)構(gòu)的介紹:struct wo

4、rker 定義職工的結(jié)構(gòu)體int num; 職工工號(hào)char name20; 職工姓名int jibengongzi; 職工的基本工資int zhiwugongzi; 職工的職務(wù)工資int jintie; 職工的津貼int yiliaobaoxian; 職工的醫(yī)療保險(xiǎn)int gongjijin; 職工的公積金int qiansan; 職工前三項(xiàng)工資(基本工資、職務(wù)工資、津貼)之和 int sum;職工的總工資worker100;建立最多為100,、名為worker的結(jié)構(gòu)體3、定義主要的函數(shù):void menu();void Input();void Modify();void Search()

5、;void Add();void Delete();void Show();void Exit();4、幾個(gè)主要函數(shù)介紹:eq oac(,1)清屏函數(shù):system(cls); 將前面操作的屏幕清楚,但不會(huì)清除數(shù)據(jù)eq oac(,2)菜單函數(shù):menu(); 顯示主菜單,便于選擇eq oac(,3)輸入函數(shù):Input(); 用于輸入數(shù)據(jù)eq oac(,4)修改函數(shù):Modify(); 用于修改數(shù)據(jù)eq oac(,5)查找函數(shù):Search();用于查找信息eq oac(,6)添加函數(shù):Add();用于增加信息eq oac(,7)刪除函數(shù):Delete(); 用于刪除信息eq oac(,8)顯

6、示函數(shù):Show(); 用于顯示信息eq oac(,9)退出函數(shù):Exit(); 用于退出該系統(tǒng)eq oac(,10)選擇函數(shù):select(); 用于選擇顯示信息或返回到菜單eq oac(,11)保存信息的函數(shù):save(): 用于保存信息eq oac(,12)保存人數(shù)的函數(shù):P(); 用于保存已保存數(shù)據(jù)的人數(shù)5、本程序模塊結(jié)構(gòu) 主函數(shù)模塊int main() system(cls); menu();執(zhí)行主函數(shù)后,執(zhí)行菜單函數(shù)。菜單函數(shù)模塊void menu() int n; system(cls); printf(nnn); printf(tt*n); printf(tt* *n); pr

7、intf(tt* If you were the first to enter the system *n); printf(tt* please select Input! *n); printf(tt* *n); printf(tt* 1Input *n); printf(tt* 2Modify *n); printf(tt* 3Search *n); printf(tt* 4Add *n); printf(tt* 5Delete *n); printf(tt* 6Show *n); printf(tt* 7Exit *n); printf(tt* *n); printf(tt*n); p

8、rintf(ttn); printf(nn); printf(ttInput your choose(1-7):); scanf(%d,&n); if(n=1&n=1&n=0&p=100)/輸入職工的信息 printf(nn); printf(Please input data:n); printf(n); f1(); for(i=0;ip;i+) input(i); workeri.sum=workeri.jibengongzi+workeri.zhiwugongzi +workeri.jintie-workeri.yiliaobaoxian-workeri.gongjijin;/計(jì)算職工的

9、總工資 workeri.qiansan=workeri.jibengongzi+workeri.zhiwugongzi+workeri.jintie;/職工前三項(xiàng)工資(基本工資、職務(wù)工資、津貼)之和 else Input();/如果輸入的職工人數(shù)超過(guò)100,返回輸入函數(shù)重新輸入 save(p);/保存輸入的職工信息 select();/選擇顯示信息或返回到菜單void Modify()/修改函數(shù) int i,j=-1,d,k,t,n;char m20; FILE *fp;/定義一個(gè)文件指針 system(cls);/清屏 n=P(); printf(nn); printf(Choose the

10、 way you want to modify:n);/選擇通過(guò)何種方式修改信息 printf(nn);/選擇方式的界面 printf(tt*n); printf(tt* *n); printf(tt* 1.By name to modify *n); printf(tt* *n); printf(tt* 2.By number to modify *n); printf(tt* *n); printf(tt*n); printf(ninput your selection:); scanf(%d,&d); if(d!=1&d!=2) printf(ninput error! Press an

11、y key to continue.); getchar(); Modify();/選擇的數(shù)字錯(cuò)誤,返回修改函數(shù)重新選擇 else if(d=1) do printf(nPlease input the name:);/輸入需要修改職工的姓名 scanf(%s,m); for(i=0;in;i+) if(strcmp(m,)=0) j=i; if(j=-1)printf(nNot find!Please input again!n);/沒(méi)有找到該職工,重新輸入 while(j=-1); else do printf(nPlease input the num:);/輸入

12、需要修改職工的工號(hào) scanf(%d,&k); for(i=0;in;i+)if(k=workeri.num)j=i; if(j=-1) printf(nNot find!Please again!n);/沒(méi)有找到該職工,重新輸入 while(j=-1); printf(nWhat do you want to modify?nn);/需要修改信息的界面 printf(tt*n); printf(tt* *n); printf(tt* 1.name 2.number *n); printf(tt* *n); printf(tt* 3.jibengongzi 4.zhiwugongzi *n);

13、 printf(tt* *n); printf(tt* 5.jintie 6.yiliaobaoxian *n); printf(tt* *n); printf(tt* 7.gongjijin *n); printf(tt* *n); printf(tt*n); printf(nPlease input your selection:);/選擇需要修改的信息 scanf(%d,&t); switch(t)/通過(guò)選擇的數(shù)字,實(shí)現(xiàn)修改該信息 case 1:printf(nbefore modify:%s,); printf(nchange to:); scanf(%s,wo

14、); printf(nafter modify:%s,);break; case 2:printf(nbefore modify:%d,workerj.num); printf(nchange to:); scanf(%d,&workerj.num); printf(nafter modify:%d,workerj.num);break; case 3:printf(nbefore modify:%d,workerj.jibengongzi); printf(nchange to:); scanf(%d,&workerj.jibengongzi);

15、printf(nafter modify:%d,workerj.jibengongzi);break; case 4:printf(nbefore modify:%d,workerj.zhiwugongzi); printf(nchange to:); scanf(%d,&workerj.zhiwugongzi); printf(nafter modify:%d,workerj.zhiwugongzi);break; case 5:printf(nbefore modify:%d,workerj.jintie); printf(nchange to:); scanf(%d,&workerj.j

16、intie); printf(nafter modify:%d,workerj.jintie);break; case 6:printf(nbefore modify:%d,workerj.yiliaobaoxian); printf(nchange to:); scanf(%d,&workerj.yiliaobaoxian); printf(nafter modify:%d,workerj.yiliaobaoxian);break; case 7:printf(nbefore modify:%d,workerj.gongjijin); printf(nchange to:); scanf(%

17、d,&workerj.gongjijin); printf(nafter modify:%d,workerj.gongjijin);break; default:printf(Error!choice again!n);break; getchar(); printf(n); f2(); workerj.sum=workerj.jibengongzi+workerj.zhiwugongzi+workerj.jintie -workerj.yiliaobaoxian-workerj.gongjijin;/職工的總工資 output(j); printf(nSave it?nn1.Yes 2.No

18、n);/詢(xún)問(wèn)是否保存修改后的信息 scanf(%d,&i); if(i=1) save(n);/保存修改后的信息 printf(nPress any key to back!);/返回到菜單 getchar(); menu();void Search()/查找函數(shù) int i,j=-1,k,d,n;char m20; n=P(); system(cls);/清屏 printf(Choose the way you want to search:n);/選擇通過(guò)何種方式查找信息 printf(nn);/選擇方式的界面 printf(tt*n); printf(tt* *n); printf(tt

19、* 1.By name to search *n); printf(tt* *n); printf(tt* 2.By number to search *n); printf(tt* *n); printf(tt*n); printf(nn); printf(Please input your selection:);/選擇查找的方式 scanf(%d,&d); if(d=2) do printf(nPlease input the number:);/輸入需要查找的職工工號(hào) scanf(%d,&k); for(i=0;in;i+) if(k=workeri.num) j=i; if(j=-1

20、) printf(Not find!Please input again!n);/沒(méi)有找到該職工,重新輸入 while(j=-1); printf(n); f2(); output(j);/輸出信息 else if(d=1) do printf(nPlease input the name:);/輸入需要查找的職工姓名 scanf(%s,m); for(i=0;in;i+) if(strcmp(m,)=0) j=i; if(j=-1) printf(Not find!Please input again!n);/沒(méi)有找到該職工,重新輸入 while(j=-1); pri

21、ntf(n); f2(); output(j);/輸出信息 if(d!=1&d!=2) printf(nInput error! Press any key to continue.);/輸入錯(cuò)誤,按enter鍵繼續(xù) getchar(); Search();/返回到查找函數(shù) select();/選擇顯示信息或返回到菜單void Add()/添加函數(shù) int i,k,m,n; FILE *fp;/定義一個(gè)文件指針 system(cls);/清屏 n=P(); printf(nnHow many people do you want to add:);/輸入需要添加的職工人數(shù) scanf(%d,&

22、m); k=m+n; if(k=100) printf(nnPlease input their information:nn);/輸入添加的職工信息 f1(); for(i=n;ik;i+) input(i); workeri.sum=workeri.jibengongzi+workeri.zhiwugongzi+workeri.jintie-workeri.yiliaobaoxian-workeri.gongjijin;/職工的總工資 if(fp=fopen(D:zggz.txt,ab)=NULL)/如果文件為空,則不能打開(kāi)文件 printf(nCan not open file.n);/

23、不能打開(kāi)文件 getchar(); menu();/返回到菜單 for(i=n;ik;i+) if(fwrite(&workeri,sizeof(struct worker),1,fp)!=1)/判斷是否寫(xiě)入了數(shù) printf(file write error.n);/文件寫(xiě)入錯(cuò)誤 fclose(fp);/關(guān)閉文件 select();/選擇顯示信息或返回到菜單 else Add();/返回到添加函數(shù)void Delete()/刪除函數(shù) int i,j=-1,d,k,t,n;char m20; FILE *fp;/定義一個(gè)文件指針 system(cls);/清屏 n=P(); fp=fopen(

24、D:zggz.txt,rb);/打開(kāi)只讀文件 printf(nn); printf(Choose the way you want to delete:n);/選擇通過(guò)何種方式刪除信息 printf(nn);/刪除函數(shù)的界面 printf(tt*n); printf(tt* *n); printf(tt* 1.By name to delete *n); printf(tt* *n); printf(tt* 2.By number to delete *n); printf(tt* *n); printf(tt*n); printf(ninput your selection:);/選擇刪除的

25、方式 scanf(%d,&d); if(d!=1&d!=2) printf(ninput error! Press any key to continue.);/輸入錯(cuò)誤,按enter鍵繼續(xù) getchar(); Delete();/返回到刪除函數(shù) else if(d=1) do printf(nPlease input the name:);/輸入需要?jiǎng)h除的職工姓名 scanf(%s,m); for(i=0;in;i+) if(strcmp(m,)=0) j=i; if(j=-1) printf(nNot find!Please again!n);/沒(méi)有找到該職工,重

26、新輸入 while(j=-1); else do printf(nPlease input the num:);/輸入需要?jiǎng)h除的職工工號(hào) scanf(%d,&k); for(i=0;in;i+) if(k=workeri.num) j=i; if(j=-1) printf(nNot find!Please again!n);/沒(méi)有找到該職工,重新輸入 while(j=-1); printf(n); f2(); for(i=j;in-1;i+) workeri=workeri+1;/刪除信息后,將后面的職工信息按原來(lái)的順序補(bǔ)充 for(i=0;in-1;i+) output(i); printf

27、(Save it?nn1.Yes 2.Non);/詢(xún)問(wèn)是否保存刪除后的職工信息 scanf(%d,&i); if(i=1) save(n-1);/保存刪除后的職工信息 printf(nPress any key to back!);/按enter鍵繼續(xù) getchar(); menu();/返回到菜單void Show()/顯示函數(shù) int i,p,a=0,b=0,c=0,j=0,k=0,l=0,m=0,n=0; p=P(); system(cls);/清屏 f2(); for(i=0;ip;i+) output(i); printf(nnaverage salary:n); for(i=0;

28、ip;i+)/各項(xiàng)工資的總和 j+=workeri.jibengongzi; k+=workeri.zhiwugongzi; l+=workeri.jintie; m+=workeri.yiliaobaoxian; n+=workeri.gongjijin; printf(%13d %11d %12d %7d %15d,j/p,k/p,l/p,m/p,n/p); printf(n(qian san xiang)renshu baifenbin); for(i=0;i3000) a+; else if(workeri.qiansan=2000 & workeri.qiansan=1000 & w

29、orkeri.qiansan=2000) c+;/顯示前三項(xiàng)工資在各個(gè)范圍內(nèi)的人數(shù)及所占人數(shù)的百分比printf( over 3000:%-7d%6d%n,a,(a*100/p); printf( 20003000:%-7d%6d%n,b,(b*100/p); printf( 10002000:%-7d%6d%n,c,(c*100/p); printf(n); printf(Press any key to back.); getchar(); menu();/返回到菜單void Exit()/退出函數(shù) int i,p,a=0,b=0,c=0,j=0,k=0,l=0,m=0,n=0; p=P(

30、); system(cls);/清屏 f2(); for(i=0;ip;i+) output(i); printf(nnaverage salary:n); for(i=0;ip;i+)/各項(xiàng)工資的總和 j+=workeri.jibengongzi; k+=workeri.zhiwugongzi; l+=workeri.jintie; m+=workeri.yiliaobaoxian; n+=workeri.gongjijin; printf(%13d %11d %12d %7d %15d,j/p,k/p,l/p,m/p,n/p); printf(n(qian san xiang)renshu

31、 baifenbin); for(i=0;i3000) a+; else if(workeri.qiansan=2000 & workeri.qiansan=1000 & workeri.qiansan=2000) c+;/顯示前三項(xiàng)工資在各個(gè)范圍內(nèi)的人數(shù)及所占人數(shù)的百分比 printf( over 3000:%-7d%6d%n,a,(a*100/p); printf( 20003000:%-7d%6d%n,b,(b*100/p); printf( 10002000:%-7d%6d%n,c,(c*100/p); printf(n); getchar(); system(cls);/清屏 pri

32、ntf(nnnnnnnn);/退出系統(tǒng)的界面 printf(t*n); printf(t * *n); printf(t * Thank you for the use of staff wage management system! *n); printf(t* *n); printf(t * *n); printf(t * Good-bye! *n); printf(t * *n); printf(t*n); printf(ttnn); getchar();f1() printf(num name jibengongzi zhiwugongzi jintie yiliaobaoxian g

33、ongjijinnn);f2() printf(num name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin sumnn);input(int i)/將輸入的信息保存到結(jié)構(gòu)體中 scanf(%d %s %d %d %d %d %d,&workeri.num,, &workeri.jibengongzi,&workeri.zhiwugongzi,&workeri.jintie, &workeri.yiliaobaoxian,&workeri.gongjijin);output(int i)/輸出信息 pri

34、ntf(%-3d%-5s %-12d %-12d %-8d %-14d %-10d %-7dnn,workeri.num, ,workeri.jibengongzi,workeri.zhiwugongzi, workeri.jintie,workeri.yiliaobaoxian,workeri.gongjijin,workeri.sum);select()/選擇函數(shù) int i; printf(nn); printf(ttt* Successful! *n); printf(nn); printf(What do you want to do now?nn1.Show

35、 all data 2.Backn);/選擇顯示信息或返回 scanf(%d,&i); if(i=1) Show();/返回到顯示函數(shù) else if(i=2) menu();/返回到菜單save(int n)/向文件中輸入數(shù)據(jù) FILE *fp;/定義一個(gè)文件指針 int i; if(fp=fopen(D:zggz.txt,wb)=NULL)/判斷打開(kāi)的寫(xiě)入文件是否為空 printf(nCan not open file.n); return NULL; for(i=0;i=1&n=0&p=N) printf(nn); printf(Please input data:n); printf(

36、n); printf(num name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijinnn); for(i=0;ip;i+) input(i); workeri.sum=workeri.jibengongzi+workeri.zhiwugongzi +workeri.jintie-workeri.yiliaobaoxian-workeri.gongjijin; workeri.qiansan=workeri.jibengongzi+workeri.zhiwugongzi+workeri.jintie; else Input(); s

37、ave(p); select();void Modify() int i,j=-1,d,k,t,n;char m20; FILE *fp; system(cls); n=P(); printf(nn); printf(Choose the way you want to modify:n); printf(nn);printf(tt*n); printf(tt* *n); printf(tt* 1.By name to modify *n); printf(tt* *n); printf(tt* 2.By number to modify *n); printf(tt* *n); printf

38、(tt*n); printf(ninput your selection:); scanf(%d,&d); if(d!=1&d!=2) printf(ninput error! Press any key to continue.); getchar(); Modify(); else if(d=1) do printf(nPlease input the name:); scanf(%s,m); for(i=0;in;i+) if(strcmp(m,)=0) j=i; if(j=-1) printf(nNot find!Please input again!n); w

39、hile(j=-1); else do printf(nPlease input the num:); scanf(%d,&k); for(i=0;in;i+) if(k=workeri.num) j=i; if(j=-1) printf(nNot find!Please again!n); while(j=-1); printf(nWhat do you want to modify?nn);printf(tt*n); printf(tt* *n); printf(tt* 1.name 2.number *n); printf(tt* *n); printf(tt* 3.jibengongz

40、i 4.zhiwugongzi *n); printf(tt* *n); printf(tt* 5.jintie 6.yiliaobaoxian *n); printf(tt* *n); printf(tt* 7.gongjijin *n); printf(tt* *n); printf(tt*n); printf(nPlease input your selection:); scanf(%d,&t); switch(t) case 1:printf(nbefore modify:%s,); printf(nchange to:); scanf(%s,workerj.

41、name); printf(nafter modify:%s,);break; case 2:printf(nbefore modify:%d,workerj.num); printf(nchange to:); scanf(%d,&workerj.num); printf(nafter modify:%d,workerj.num);break; case 3:printf(nbefore modify:%d,workerj.jibengongzi); printf(nchange to:); scanf(%d,&workerj.jibengongzi); printf

42、(nafter modify:%d,workerj.jibengongzi);break; case 4:printf(nbefore modify:%d,workerj.zhiwugongzi); printf(nchange to:); scanf(%d,&workerj.zhiwugongzi); printf(nafter modify:%d,workerj.zhiwugongzi);break; case 5:printf(nbefore modify:%d,workerj.jintie); printf(nchange to:); scanf(%d,&workerj.jintie)

43、; printf(nafter modify:%d,workerj.jintie);break; case 6:printf(nbefore modify:%d,workerj.yiliaobaoxian); printf(nchange to:); scanf(%d,&workerj.yiliaobaoxian); printf(nafter modify:%d,workerj.yiliaobaoxian);break; case 7:printf(nbefore modify:%d,workerj.gongjijin); printf(nchange to:); scanf(%d,&wor

44、kerj.gongjijin); printf(nafter modify:%d,workerj.gongjijin);break; default:printf(Error!choice again!n);break; getchar(); printf(n); printf(num name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin sumnn); workerj.sum=workerj.jibengongzi+workerj.zhiwugongzi+workerj.jintie -workerj.yiliaobaoxia

45、n-workerj.gongjijin; output(j); printf(nSave it?nn1.Yes 2.Non); scanf(%d,&i); if(i=1) save(n); printf(nPress any key to back!); getchar(); menu();void Search() int i,j=-1,k,d,n;char m20; n=P(); system(cls); printf(Choose the way you want to search:n); printf(nn); printf(tt*n); printf(tt* *n); printf

46、(tt* 1.By name to search *n); printf(tt* *n); printf(tt* 2.By number to search *n); printf(tt* *n); printf(tt*n); printf(nn); printf(Please input your selection:); scanf(%d,&d); if(d=2) do printf(nPlease input the number:); scanf(%d,&k); for(i=0;in;i+) if(k=workeri.num) j=i; if(j=-1) printf(Not find

47、!Please input again!n); while(j=-1); printf(n); printf(num name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin sumnn); output(j); else if(d=1) do printf(nPlease input the name:); scanf(%s,m); for(i=0;in;i+) if(strcmp(m,)=0) j=i; if(j=-1) printf(Not find!Please input again!n); whi

48、le(j=-1); printf(n); printf(num name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin sumnn); output(j); if(d!=1&d!=2) printf(nInput error! Press any key to continue.); getchar(); Search(); select();void Add() int i,k,m,n; FILE *fp; system(cls); n=P(); printf(nnHow many people do you want to a

49、dd:); scanf(%d,&m); k=m+n; if(k=N) printf(nnPlease input their information:nn); printf(num name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijinnn); for(i=n;ik;i+) input(i); workeri.sum=workeri.jibengongzi+workeri.zhiwugongzi+workeri.jintie -workeri.yiliaobaoxian-workeri.gongjijin; if(fp=fopen

50、(D:zggz.txt,ab)=NULL) printf(nCan not open file.n); getchar(); menu(); for(i=n;ik;i+) if(fwrite(&workeri,sizeof(struct worker),1,fp)!=1) printf(file write error.n); fclose(fp); select(); else Add();void Delete() int i,j=-1,d,k,t,n;char m20; FILE *fp; system(cls); n=P(); fp=fopen(D:zggz.txt,rb); prin

51、tf(nn); printf(Choose the way you want to delete:n); printf(nn); printf(tt*n); printf(tt* *n); printf(tt* 1.By name to delete *n); printf(tt* *n); printf(tt* 2.By number to delete *n); printf(tt* *n); printf(tt*n); printf(ninput your selection:); scanf(%d,&d); if(d!=1&d!=2) printf(ninput error! Pres

52、s any key to continue.); getchar(); Delete(); else if(d=1) do printf(nPlease input the name:); scanf(%s,m); for(i=0;in;i+) if(strcmp(m,)=0) j=i; if(j=-1) printf(nNot find!Please again!n); while(j=-1); else do printf(nPlease input the num:); scanf(%d,&k); for(i=0;in;i+) if(k=workeri.num)

53、j=i; if(j=-1) printf(nNot find!Please again!n); while(j=-1); printf(n); printf(num name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin sumnn); for(i=j;in-1;i+) workeri=workeri+1; for(i=0;in-1;i+) output(i); printf(Save it?nn1.Yes 2.Non); scanf(%d,&i); if(i=1) save(n-1); printf(nPress any key

54、 to back!); getchar(); menu();void Show() int i,p,a=0,b=0,c=0,j=0,k=0,l=0,m=0,n=0; p=P(); system(cls); printf(num name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin sumnn); for(i=0;ip;i+) output(i); printf(nnaverage salary:n); for(i=0;ip;i+) j+=workeri.jibengongzi; k+=workeri.zhiwugongzi; l

55、+=workeri.jintie; m+=workeri.yiliaobaoxian; n+=workeri.gongjijin; printf(%13d %11d %12d %7d %15d,j/p,k/p,l/p,m/p,n/p); printf(n(qian san xiang)renshu baifenbin); for(i=0;i3000) a+; else if(workeri.qiansan=2000 & workeri.qiansan=1000 & workeri.qiansan=2000) c+; printf( over 3000:%-7d%6d%n,a,(a*100/p); printf( 20003000:%-7d%6d%n,b,(b*100/p); printf( 10002000:%-7d%6d%n,c,(c*100/p); printf(n); printf(Press any key to back.); getchar(); menu();void Exit() int i,p,a=0,b=0,c=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論