员工管理系统c语言源代码Word下载.docx

上传人:b****7 文档编号:22118496 上传时间:2023-02-02 格式:DOCX 页数:19 大小:18.47KB
下载 相关 举报
员工管理系统c语言源代码Word下载.docx_第1页
第1页 / 共19页
员工管理系统c语言源代码Word下载.docx_第2页
第2页 / 共19页
员工管理系统c语言源代码Word下载.docx_第3页
第3页 / 共19页
员工管理系统c语言源代码Word下载.docx_第4页
第4页 / 共19页
员工管理系统c语言源代码Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

员工管理系统c语言源代码Word下载.docx

《员工管理系统c语言源代码Word下载.docx》由会员分享,可在线阅读,更多相关《员工管理系统c语言源代码Word下载.docx(19页珍藏版)》请在冰豆网上搜索。

员工管理系统c语言源代码Word下载.docx

2----中级工程师 

3----初级工程师 

*/

charID_Wage[10];

/*员工的工资卡号*/

chardepart[10];

/*员工的部门*/

intage;

/*员工的年龄*/

charsex;

/*员工的性别*/

charm_phone[10];

/*员工的手机*/

charH_phone[10];

/*员工的住宅电话*/

WAGEsalary;

}WORK;

WORKwo[N];

intn;

/*员工的总数*/

voidmenu();

/*员工管理操作主菜单函数声明*/

voidmenu1();

/*员工管理操作子菜单函数声明*/

/********************************************************

Author 

:

GT

CopyRight 

tgao@

functionname 

save

Comments 

保存文件函数

input 

无 

output 

CreatedDate 

2007/06/01

*********************************************************/

save() 

/*保存函数,保存n个记录*/

intw=1;

FILE*fp;

inti;

system("

cls"

);

if((fp=fopen("

work.txt"

"

wb"

))==NULL) 

/*以输出打开方式,在此前的记录被覆盖*/

printf("

\nCannotopenfile\n"

);

returnNULL;

}

for(i=0;

i<

n;

i++)

if(fwrite(&

wo[i],sizeof(structworker),1,fp)!

=1)

filewriteerror\n"

w=0;

if(w==1)

filesaveok!

\n"

fclose(fp);

getch();

menu();

load

载入文件函数

load() 

/*加载记录或可以计算记录个数的函数*/

inti,w;

w=1;

rb"

n=0;

for(i=0;

!

feof(fp);

fread(&

wo[i],sizeof(structworker),1,fp);

n++;

n=n-1;

Loadfileok!

"

return(i-1);

/*返回记录个数*/

no_input

输入不能重复的员工编号

i:

表示第i个的员工编号信息 

n:

表示比较到第n个员工编号信息

voidno_input(inti,intn) 

/*i表示第i个的员工编号信息,n表示比较到第n个员工编号*/

intj,k,w1;

do

w1=0;

NO.:

scanf("

%s"

wo[i].ID);

for(j=0;

wo[i].ID[j]!

='

\0'

;

j++) 

/*员工编号输入函数,作了严格规定*/

if(wo[i].ID[j]<

'

0'

||wo[i].ID[j]>

9'

) 

/*判断员工编号是否为数字*/

{

puts("

Inputerror!

Onlybemadeupof(0-9).Pleasereinput!

w1=1;

break;

}

if(w1!

for(k=0;

k<

k++) 

/*比较到第n个员工编号*/

/*排除第i个员工编号即你要修改的*/

if(k!

=i&

&

strcmp(wo[k].ID[j],wo[i].ID[j])==0) 

/*判断员工编号是否有雷同*/

Thisrecordisexist.pleasereinput!

}while(w1==1);

tax

工资税金

s:

表示员工工资信息

员工的税金

floattax(floats)

if(s<

=800)

tax=0;

elseif(s>

800&

s<

=1400)

tax=(s-800)*0.05;

elseif(s>

1400)

tax=(s-1400)*0.1+600*0.05;

returntax;

input

输入一条员工记录

表示第i个的员工信息

voidinput(inti) 

/*输入一个记录函数*/

intj,sum;

no_input(i,i);

/*调用员工编号输入函数*/

name:

fflush(stdin);

gets(wo[i].name);

printf("

BankID:

gets(wo[i].ID_Wage);

grade"

scanf("

%d"

&

wo[i].ID_P);

Department:

gets(wo[i].depart);

age:

wo[i].age);

sex:

%c"

wo[i].sex);

mobilephone"

gets(wo[i].m_phone);

homephone"

gets(wo[i].H_phone);

basicsalary"

%f"

wo[i].salary.wage1);

wo[i].salary.tax=tax(wo[i].salary.wage1);

Bonus:

wo[i].salary.Bonus);

waterfee:

wo[i].salary.S_fee);

dianfee:

wo[i].salary.D_fee);

QingJiefee:

wo[i].salary.Q_fee);

TVfee:

wo[i].salary.T_fee);

wo[i].salary.S_wage=wo[i].salary.wage1+wo[i].salary.Bonus-wo[i].salary.tax-wo[i].salary.D_fee-wo[i].salary.Q_fee-wo[i].salary.S_fee-wo[i].salary.T_fee;

enter

输入员工管理系统信息记录

voidenter()

/*输入模块*/

Howmanyrecord(0-%d)?

:

N);

n);

/*要输入的记录个数*/

\nEnterdatanow\n\n"

\nInput%dthrecord.\n"

i+1);

input(i);

/*调用输入函数*/

printf_one

输出一条员工信息记录

表示第i个的员工信息

voidprintf_one(inti) 

/*显示一个记录的函数*/

intj;

%11s 

%-6s 

%d 

%c 

%6.2f 

%s 

%s"

wo[i].ID,wo[i].name,wo[i].ID_Wage,wo[i].ID_P,wo[i].age,wo[i].sex,wo[i].salary.S_wage,wo[i].m_phone,wo[i].H_phone);

printf_one_s

输出一条员工工资记录

表示第i个的工资信息

voidprintf_one_s(inti) 

%8.2f 

%8.2f"

wo[i].salary.wage1,wo[i].salary.S_wage,wo[i].salary.Bonus,wo[i].salary.D_fee,wo[i].salary.Q_fee,wo[i].salary.S_fee,wo[i].salary.T_fee,wo[i].salary.tax);

browse

输出员工管理系统信息记录

voidbrowse() 

/*浏览(全部)模块*/

inti,j;

puts("

\n--------------------------------------------------------------------"

\n\t工号姓名银行卡号 

职称年龄 

性别 

实发工资手机住宅电话\n"

if((i!

=0)&

(i%10==0)) 

/*目的是分屏显示*/

\n\nPassanykeytocontiune 

..."

getch();

\n\n"

printf_one(i);

/*调用显示一个记录的函数*/

\tThereare 

%drecord.\n"

n);

/*按任意健*/

search_by_ID

按工号查找所有员工信息记录

输出查找员工编号

intsearch_by_ID() 

/*查找模块*/

inti,k;

structworkers;

k=-1;

\n\nEntertheID:

s.ID);

/*输入要到达的地方*/

i++) 

/*查找要修改的数据*/

if(strcmp(s.ID,wo[i].ID)==0)

k=i;

/*找到要修改的记录*/

printf_one(k);

工资信息:

\n\t基本工资 

实发工资 

奖金 

电费 

清洁费 

水费 

电视费 

税金\n"

printf_one_s(k);

if(k==-1)

\n\nNOexist!

menu1();

return-1;

else

returnk;

search_by_age

按年龄查找所有员工信息记录

intsearch_by_age() 

/*查找模

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1