公司職員工資管理系統(tǒng)_第1頁
公司職員工資管理系統(tǒng)_第2頁
公司職員工資管理系統(tǒng)_第3頁
公司職員工資管理系統(tǒng)_第4頁
公司職員工資管理系統(tǒng)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、#include#include#include#include#define N 50void main() void menu(); menu();void menu() /主菜單函數(shù) void enter(); void add(); void browse(); void search(); void order(); int n,w1; do puts(tt*MENU*nn); puts(ttt 1.Enter ); puts(ttt 2.Add); puts(ttt 3.browse all); puts(ttt 4.Search ); puts(ttt 5.Order ); pu

2、ts(ttt 6.Exit); puts(nntt*n); printf(Choice your number(1-6):bb); scanf(%d,&n); if(n6) /*對選擇的數(shù)字進行判斷*/ w1=1; getchar(); else w1=0; while(w1=1); switch(n) case 1:enter();break; /*輸入模塊*/ case 2:add();break; /*新增模塊*/ case 3:browse();break; /*瀏覽模塊*/ case 4:search();break; /*查找模塊*/ case 5:order();break; /

3、*排序模塊*/ case 6:exit(0); /*退出模塊*/ struct list /結(jié)構(gòu)體定義工資信息 int num; /工資卡號 char name20;/姓名 int month;/月份 int salary1; /應(yīng)發(fā)工資 int water;/水費 int electrisity; /電費float fax; /稅金 float salary2; /實發(fā)工資listN; /listN中每個數(shù)組元素對應(yīng)一個職工工資信息void enter() /輸入模塊函數(shù) void printf_back(); void save(int n); void input(int i); int

4、 i,n; printf(how many workers (1-%d)?:,N-1); scanf(%d,&n); /輸入職工數(shù)目 printf(n enter date nownn); for(i=0;in;i+) /輸入職工各項信息 printf(n input %dth student record.n,i+1); input(i); /調(diào)用職工信息輸入函數(shù) if(i!=0)save(n); /儲存職工信息 printf_back(); /執(zhí)行返回函數(shù)void add() /新增模塊函數(shù) void printf_back(); int i,n,m,k; int load();void

5、save(int n); void input(int i); FILE *fp; /定義文件指針變量 n=load(); /導(dǎo)出文件信息,得到返回值 printf(how many workers are you want to add(0-%d)?:,N-1-n); scanf(%d,&m); /輸入新增職工數(shù)目 k=m+n; /總職工數(shù)= 新增職工數(shù)+已有職工數(shù) for(i=n+1;i=k;i+) /輸入新增職工信息 printf(n input %dth workers record.n,i-n+2); input(i); /調(diào)用職工信息輸入函數(shù) fp=fopen(workers.tx

6、t,ab); /以追加形式打開文件 for(i=n+1;i=k;i+) fwrite(&listi,sizeof(struct list),1,fp); /將內(nèi)存中的職工信息輸出到磁盤文件中save(n); /儲存輸入信息 fclose(fp); /關(guān)閉文件 printf_back(); /執(zhí)行返回函數(shù) void browse() /瀏覽模塊函數(shù) void printf_one(int i); void printf_face(); int load(); void menu(); int i,n; n=load(); printf_face(); for(i=0;in;i+) if(i!=0

7、)&(i%10=0) /以10個職工為一組輸出 printf(nnpass any key to continue.); getch(); puts(nn); printf_one(i); /輸出各職工信息printf(n); printf(t there are %d recode.n,n); printf(n pass any key to back.); getch(); menu(); /返回主菜單 void search() /查詢模塊函數(shù) int n,w1; do puts(ttt1.search by name); /按姓名查詢 puts(ttt2.search by num);

8、 /按工資卡號查詢 scanf(%d,&n); if(n2) w1=1; getchar(); else w1=0; while(w1=1); switch(n) void search_1(); void search_2(); case 1:search_1();break; case 2:search_2();break; void search_1() /按姓名查詢 int load(); void printf_face(); void menu(); void printf_one(int i); int i,n,k,w1=1,w2,w3,w4; struct list s; n=

9、load(); /導(dǎo)出文件信息,得到返回值 do do k=-1; printf(nnenter name that you want to search! name:); scanf(%s,); /輸入要查找的姓名 printf_face(); /輸出職工信息項目 for(i=0;in;i+) if(strcmp(,)=0) /查詢出與輸入姓名相同的職工的信息 k=i; printf_one(k);break; /輸出查詢結(jié)果并中斷,說明只能輸出查到的第一個數(shù)據(jù) if(k=-1) /如果沒有查出信息則執(zhí)行如下選擇菜單 printf(nn NO.ex

10、it!please); printf(nnare you again?nt1).again 2).NO and back bb); scanf(%d,&w1); if(w1=2)break; while(k=-1&w1=1); /選擇1繼續(xù)循環(huán)執(zhí)行查詢 w4=0;w3=0; if(k!=-1) printf(successful); printf(nn what do you want to do?nt1).search another 2).back bb); /選擇查找下一個數(shù)據(jù)或返回 scanf(%d,&w2); while(w2=1); /選擇1循環(huán)執(zhí)行查詢下一個數(shù)據(jù) menu();

11、void search_2() /按工資卡號查詢 int load(); void printf_face(); void menu(); void printf_one(int i); struct list s; int i,n,k,w1=1,w2,w3,w4; n=load(); do do k=-1; printf(nnenter num that you want to search! num:); scanf(%d,&s.num); /輸入要查找的工資卡號 printf_face(); /輸出職工信息項目 for(i=0;in;i+) if(s.num=listi.num) /查詢

12、出與輸入工資卡號相同的職工的信息 k=i; printf_one(k);break; if(k=-1) /如果沒有查出信息則執(zhí)行如下選擇菜單 printf(nn NO.exit!please); printf(nnare you again?nt1).again 2).NO and back bb); scanf(%d,&w1); if(w1=2)break; while(k=-1&w1=1); /選擇1繼續(xù)循環(huán)執(zhí)行查詢 w4=0;w3=0; if(k!=-1) printf(successful); printf(nn what do you want to do?nt1).search a

13、nother 2).back bb); scanf(%d,&w2); while(w2=1); /選擇1循環(huán)執(zhí)行查詢下一個數(shù)據(jù) menu(); void order() /排序功能模塊函數(shù) int w1,n; void order_1(); void order_2(); do puts(ttt1.order by num); /按工資卡號排序 puts(ttt2.order by salary 2); /按實發(fā)工資排序 scanf(%d,&n); if(n2) w1=1; getchar(); else w1=0; while(w1=1); switch(n) case 1:order_1(

14、);break; case 2:order_2();break; void order_1() /按工資卡號升序排序 int load(); void printf_back(); void save(int i); int i,j,n;void browse();struct list s; n=load(); for(i=0;in-1;i+) /冒泡排序法,按職工工資卡號升序排列出職工信息 for(j=i+1;jn-1;j+) if(listj.numlisti.num) s=listj; listj=listi; listi=s; save(n); /儲存排序后的信息browse();

15、/顯示排序后的信息 puts(nn); printf_back(); /執(zhí)行返回函數(shù) void order_2() /按實發(fā)工資升序排序 int load(); void printf_back(); void save(int i); int i,j,n; struct list s; void browse(); n=load(); for(i=0;in-1;i+) /冒泡排序法,按實發(fā)工資升序排列出職工信息 for(j=i+1;jn-1;j+) if(listi.salary2listj.salary2) s=listj;listj=listi;listi=s; save(n); /儲存

16、排序后的信息browse(); /顯示排序后的信息 puts(nn); printf_back(); /執(zhí)行返回函數(shù) void save(int n) /儲存函數(shù) FILE *fp; int i; fp=fopen(workers.txt,wb); /以只寫方式打開文件 for(i=0;in;i+) fwrite(&listi,sizeof(struct list),1,fp); /將內(nèi)存中的職工信息輸出到磁盤文件中 fclose(fp); /關(guān)閉文件 int load() /導(dǎo)出文件信息 FILE *fp; int i; fp=fopen(workers.txt,rb); /以只讀方式打開文

17、件 for(i=0;!feof(fp);i+) fread(&listi,sizeof(struct list),1,fp); /讀出磁盤文件中的職工信息 fclose(fp); /關(guān)閉文件 return(i-1); /返回數(shù)值i-1 void input(int i) /職工信息輸入函數(shù) float salary2(int i); float fax(int i); printf(No.:); scanf(%d,&listi.num); printf(name:); scanf(%s,); printf(month:); scanf(%d,&listi.month); p

18、rintf(salary1:); scanf(%d,&listi.salary1); printf(water:); scanf(%d,&listi.water); printf(electricity:); scanf(%d,&listi.electrisity); fax(i); /計算稅金 salary2(i); /計算實發(fā)工資 float fax(int i) /稅金計算函數(shù) if(listi.salary1800)listi.fax=0; else if(listi.salary11400) listi.fax=(listi.salary1-800)*5/100); else listi.fax=(listi.salary1-1400)/10);return listi.fax; float salary2(int i) /實發(fā)工資計算函數(shù) listi.salary2=(listi.salary1-listi.water-listi.el

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論