版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、. . . . #include<string.h>#include<stdio.h>#define N 10000 /*員工的最大數*/typedef struct wagefloat wage1; /*員工的基本工資*/float Bonus; /*員工的獎金*/float tax; /*員工的稅金*/float S_fee;
2、160; /*員工的水費*/float D_fee; /*員工的電費*/float T_fee; /*員工的有線電視費*/float Q_fee; /*員工的清潔費*/float S_wage; /*員工的實發(fā)工資*/WAGE;typedef struct worker char name10;
3、160; /*員工的*/char ID10; /*員工的工號*/ int ID_P; /*員工的職務代號 1-高級工程師 2-中級工程師 3-初級工程師 *
4、/char ID_Wage10; /*員工的工資卡號*/char depart10; /*員工的部門*/ int age; /*員工的年齡*/char sex; /*員工的性別*/char m_phone
5、10; /*員工的手機*/char H_phone10; /*員工的住宅*/ WAGE salary;WORK;WORK woN;int n;/*員工的總數*/void menu();/*員工管理操作主菜單函數聲明*/void menu1();/*員工管理操作子菜單函數聲明*/*Author : GTCopyRight : tgaosohu.
6、60; function name : save Comments : 保存文件函數input : 無 output
7、0; : 無CreatedDate : 2007/06/01*/save() /*保存函數,保存n個記錄*/ int w=1;FILE *fp;int i;system( "cls&q
8、uot; ); if(fp=fopen("work.txt","wb")=NULL) /*以輸出打開方式,在此前的記錄被覆蓋*/ printf("nCannot open filen"); return NULL; for(i=0;i<n;i+)if(fwrite(&woi,sizeof(struct worker),1,
9、fp)!=1) printf("file write errorn"); w=0;if(w=1) printf("file save ok!n");fclose(fp);getch(); menu();/*Author
10、0; : GTCopyRight : tgaosohu. function name : load Comments : 載入文件函數input : 無
11、0; output : 無CreatedDate : 2007/06/01*/load()
12、0; /*加載記錄或可以計算記錄個數的函數*/FILE *fp;int i,w;w=1;system( "cls" ); if(fp=fopen("work.txt","rb")=NULL) /*以輸出打開方式,在此前的記錄被覆蓋*/ printf("nCannot open filen"); w=0; return NULL;
13、n=0;for(i=0;!feof(fp);i+) fread(&woi,sizeof(struct worker),1,fp); n+;n=n-1;fclose(fp);if(w=1) printf("Load file ok!");getch(); menu();return(i-1);
14、60; /*返回記錄個數*/*Author : GTCopyRight : tgaosohu. function name : no_input Comments : 輸入不能重復的員工編號inp
15、ut : i:表示第i個的員工編號信息 n:表示比較到第n個員工編號信息output : 無CreatedDate : 2007/06/01*/
16、void no_input(int i,int n) /*i表示第i個的員工編號信息,n表示比較到第n個員工編號*/int j,k,w1;do w1=0; printf("NO.:");
17、; scanf("%s",woi.ID); for(j=0;woi.IDj!='0'j+) /*員工編號輸入函數,作了嚴格規(guī)定*/ if(woi.IDj<'0'|woi.IDj>'9') /*判斷員工編號是否
18、為數字*/ puts("Input error! Only be made up of (0-9).Please reinput!n"); w1=1; break;
19、60; if(w1!=1) for(k=0;k<n;k+) /*比較到第n個員工編號*/
20、 /*排除第i個員工編號即你要修改的*/ if(k!=i&&am
21、p;strcmp(wok.IDj,woi.IDj)=0) /*判斷員工編號是否有雷同*/ puts("This record is exist. please reinput!n");
22、; w1=1; break; while(w1=1);/*Author : GTCopyRight : tgaosohu. function name : tax Comments : 工資稅金i
23、nput : s: 表示員工工資信息output : 員工的稅金CreatedDate : 2007/06/01*/float tax(float s)float ta
24、x;if(s<=800) tax=0;else if(s>800&&s<=1400) tax=(s-800)*0.05; else if(s>1400) tax=(s-1400)*0.1+600*0.05; return tax;/*Author : GTCopyRight
25、; : tgaosohu. function name : input Comments : 輸入一條員工記錄input : i: 表示第i個的員工信息output
26、0; : 無CreatedDate : 2007/06/01*/void input(int i)
27、; /*輸入一個記錄函數*/ int j,sum; no_input(i,i); /*調用員工編號輸入函數*/
28、; printf("name:");fflush(stdin);gets();printf("Bank ID:");fflush(stdin);gets(woi.ID_Wage);printf("grade");scanf("%d",&woi.ID_P); printf("Department:");fflush(stdin);gets(woi.depart); printf("age:&qu
29、ot;);scanf("%d",&woi.age); printf("sex:");fflush(stdin);scanf("%c",&woi.sex); printf("mobile phone");fflush(stdin);gets(woi.m_phone); printf("home phone"
30、;);fflush(stdin);gets(woi.H_phone);printf("basic salary");scanf("%f",&woi.salary.wage1);woi.salary.tax=tax(woi.salary.wage1);printf("Bonus:");scanf("%f",&woi.salary.Bonus);printf("water fee:");scanf("%f",&woi.salary.S_fee);print
31、f("dian fee:");scanf("%f",&woi.salary.D_fee);printf("QingJie fee:");scanf("%f",&woi.salary.Q_fee);printf("TV fee:");scanf("%f",&woi.salary.T_fee); woi.salary.S_wage=woi.salary.wage1+woi.salary.Bonus
32、-woi.salary.tax-woi.salary.D_fee-woi.salary.Q_fee-woi.salary.S_fee-woi.salary.T_fee;/*Author : GTCopyRight : tgaosohu. function name : enter Comments : 輸入員工管理
33、系統(tǒng)信息記錄input : 無output : 無CreatedDate : 2007/06/01*/void enter()/*輸入模塊*/int i;system( "
34、;cls" ); printf("How many record(0-%d)?:",N);scanf("%d",&n); /*要輸入的記錄個數*/printf("nEnter data nownn");for(i=0;i<n;i+)
35、; printf("nInput %dth record.n",i+1); input(i); /*調用輸入函數*/ getch(); m
36、enu();/*Author : GTCopyRight : tgaosohu. function name : printf_one Comments : 輸出一條員工信息記錄input
37、0; : i:表示第i個的員工信息output : 無CreatedDate : 2007/06/01*/void printf_one(int i)
38、60; /*顯示一個記錄的函數*/int j;printf("%11s %-6s %-6s %d %d %c %6.2f %s
39、0; %s",woi.ID,,woi.ID_Wage,woi.ID_P,woi.age,woi.sex,woi.salary.S_wage,woi.m_phone,woi.H_phone);/*Author : GTCopyRight : tgaosohu. function name : printf_one_s
40、0; Comments : 輸出一條員工工資記錄input : i:表示第i個的工資信息output : 無CreatedDate :
41、 2007/06/01*/void printf_one_s(int i) /*顯示一個記錄的函數*/int j;printf(" %8.2f
42、160; %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f",woi.salary.wage1,woi.salary.S_wage,woi.salary.Bonus,woi.salary.D_fee,woi.salary.Q_fee,woi.salary.S_fee,woi.salary.T_fee,woi.salary.ta
43、x);/*Author : GTCopyRight : tgaosohu. function name : browse Comments : 輸出員工管理系統(tǒng)信息記錄input
44、60; : 無output : 無CreatedDate : 2007/06/01*/void browse()
45、0; /*瀏覽(全部)模塊*/int i,j;system( "cls" ); puts("n-");printf("nt工號 銀行卡號 職稱 年齡 性別 實發(fā)工資 手機 住宅n");for(i=0;i<n;i+) if(i!=0)&&(i%1
46、0=0) /*目的是分屏顯示*/ printf("nnPass any key to contiune . . .");
47、getch(); puts("nn"); printf_one(i); /*調用顯示一個記錄的函數*/ printf("n")
48、;puts("n-");printf("tThere are %d record.n",n);getch(); /*按任意健*/menu();/*Author
49、60; : GTCopyRight : tgaosohu. function name : search_by_ID Comments : 按工號查找所有員工信息記錄input :
50、160; 無output : 輸出查找員工編號CreatedDate : 2007/06/01*/int search_by_ID()
51、; /*查找模塊*/int i,k;struct worker s;k=-1;system( "cls" ); printf("nnEnter the ID:");scanf("%s",s.ID); /*輸入要到達的地方*/for(i=0;i<n;
52、i+) /*查找要修改的數據*/ if(strcmp(s.ID,woi.ID)=0) k=i;
53、 /*找到要修改的記錄*/ printf("nt工號 銀行卡號 職稱 年齡 性別 實發(fā)工資 手機 住宅n"); &
54、#160; printf_one(k); printf("工資信息:n"); printf("nt基本工資 實發(fā)工資 獎金 電費 清潔費 &
55、#160; 水費 電視費 稅金n"); printf_one_s(k); break;
56、 /*調用顯示一個記錄的函數*/ if(k=-1) printf("nnNO exist!"); getch();
57、; menu1(); return -1;else getch(); menu1(); return k;/*Author : GTCopyRight : tgaosoh
58、u. function name : search_by_age Comments : 按年齡查找所有員工信息記錄input : 無output &
59、#160; : 輸出查找員工編號CreatedDate : 2007/06/01*/int search_by_age() /*查找模塊*/in
60、t i,k,t_age,b_age;struct worker s;k=-1;system( "cls" ); printf("nnEnter the top age:");scanf("%d",&t_age); printf("nnEnter the bottom age:");scanf("%d",
61、&b_age); printf("nt工號 銀行卡號 職稱 年齡 性別 實發(fā)工資 手機 住宅n"); for(i=0;i<n;i+)
62、60; /*查找要修改的數據*/ if(woi.age>=b_age&&woi.age<=t_age) k=i; /*找到要修改的記錄*/
63、 printf_one(k); break; /*調用顯示一個記錄的函數*/ if(k=-1)&
64、#160; printf("nnNO exist!"); getch(); menu1(); return -1;else getch();
65、0; menu1(); return k;/*Author : GTCopyRight : tgaosohu. function name : search_by_P Comments
66、 : 按職稱統(tǒng)計所有員工的工資信息input : 無output : 無CreatedDate : 2007/06/01*/void count_by_P()
67、; /*查找模塊*/int i,k;float S_sal3=0,0,0,sal3=0,0,0,bon3=0,0,0,tax3=0,0,0; system( "cls" ); for(i=0;i<n;i+
68、) /*查找要修改的數據*/ if(woi.ID_P=1) S_sal0=S_sal0+woi.salary.S_wage; sal0=sal0+woi.salary.wage1;
69、; bon0=bon0+woi.salary.Bonus; tax0=tax0+woi.salary.tax; else if(woi.ID_P=2) S_sal1=S_sal1+woi.salary.S_wage; sal1=sal1+woi.salary.wage1;
70、 bon1=bon1+woi.salary.Bonus; tax1=tax1+woi.salary.tax; else if(woi.ID_P=3) S_sal2=S_sal2+woi.salary.S_wage; sal2=sal2+woi.salary.wage1; bon2=bon2+wo
71、i.salary.Bonus; tax2=tax2+woi.salary.tax; printf("n級別為高級工程師的工資統(tǒng)計為:n");printf("實發(fā)工資:%f,基本工資:%f,獎金:%f,稅金:%fn",S_sal0,sal0,bon0,tax0);printf("n級別為中級工程師的工資統(tǒng)計為:n");printf("實發(fā)工資:%f,基本工資:%f,獎金:%f,稅金:
72、%fn",S_sal1,sal1,bon1,tax1);printf("n級別為初級工程師的工資統(tǒng)計為:n");printf("實發(fā)工資:%f,基本工資:%f,獎金:%f,稅金:%fn",S_sal2,sal2,bon2,tax2);printf("n公司所有人員的工資統(tǒng)計為:n");printf("實發(fā)工資:%f,基本工資:%f,獎金:%f,稅金:%fn",S_sal2,sal2,bon2,tax2);getch(); menu1();/*Author
73、60; : GTCopyRight : tgaosohu. function name : order Comments : 按照實發(fā)工資的高低排序input :
74、; 無output : 無CreatedDate : 2007/06/01*/void order()
75、60; /*排序模塊(按平均成績)*/int i,j,k;struct worker s;system( "cls" ); for(i=0;i<n-1;i+) /*選擇法排序*/ k=i; for(j=i+1;j<n;j+)
76、; if(woj.salary.S_wage>wok.salary.S_wage) k=j; s=woi; woi=wok; wok=s; printf("The ordered data is:n");browse();getch(); menu1();/*Author
77、160; : GTCopyRight : tgaosohu. function name : menu1 Comments : 員工管理操作的子菜單input :
78、; 無output : 無CreatedDate : 2007/06/01*/void menu1()int n,w1; do system( "
79、;cls" ); /*清屏*/ puts("tttt 員工管理操作!nn");
80、 puts("tt*MENU*nn"); puts("tttt1.search by ID"); puts("tttt2.search by age"); puts("tttt3.count salary&
81、quot;); puts("tttt4.order by salary"); puts("tttt5.return to menu"); puts("nntt*n");
82、 printf("Choice your number(1-5): bb"); scanf("%d",&n); if(n<0|n>5)
83、; /*對選擇的數字作判斷*/ w1=1;
84、160; printf("your choice is not between 1 and 4,Please input again:"); getchar();
85、0; else w1=0; while(w1=1);/*選擇功能*/switch(n) case 1:search_by_ID();break; /*輸入模塊*/ case 2:search_by_age();break;
86、60; /*瀏覽模塊*/ case 3:count_by_P();break; /*查找模塊*/ case 4:order();break; /*瀏覽模塊*/ case 5:menu(); /*Author
87、; : GTCopyRight : tgaosohu. function name : menu Comments : 員工管理系統(tǒng)主菜單input :
88、0; 無output : 無CreatedDate : 2007/06/01*/void menu()int n,w1; do system( "cls" );
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 運營助理的年終總結
- 新生兒輕度窒息的護理
- 福建省2024八年級數學上冊第12章整式的乘除12.2整式的乘法3.多項式與多項式相乘課件新版華東師大版
- 人事測評課件教學課件
- 2.1.2碳酸鈉和碳酸氫鈉 說課課件 高一上學期化學人教版(2019)必修第一冊
- 洗地機行業(yè)現狀分析報告
- 如何寫年終述職報告
- 肱骨遠段骨折康復治療
- 不樣的我教案反思
- 2025文旅景區(qū)蛇年新年國潮非遺年貨大集主題活動策劃方案-111P
- 快遞分揀員勞動合同書
- 胎盤殘留護理查房課件
- 校醫(yī)務室托管投標方案
- 可復制的領導力
- (初級)游泳救生員理論考試題庫 (新版)
- 天津市河北區(qū)2023-2024學年八年級上學期期中地理試題
- 巴以沖突2023年專題
- 急性肺栓塞多學科團隊救治中國專家共識(2022版)解讀
- 第-17章-情景分析和壓力測試
- 中醫(yī)執(zhí)業(yè)醫(yī)師實踐技能考試第二站(中醫(yī)基本操作)
- 《預防為主生命至上》119消防安全日主題班會課件
評論
0/150
提交評論