c语言课程设计职工工资管理系统源代码Word格式文档下载.docx
《c语言课程设计职工工资管理系统源代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言课程设计职工工资管理系统源代码Word格式文档下载.docx(23页珍藏版)》请在冰豆网上搜索。
![c语言课程设计职工工资管理系统源代码Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/23/40a542f4-5eee-42fa-8db6-388fc777da0c/40a542f4-5eee-42fa-8db6-388fc777da0c1.gif)
I******************************************************************************职工类型定义
*******************************************************************************
structemployee
{
charemployeeid[10];
charname[10];
charsex[10];
intage;
floatbasesalary;
floatpostwage;
floattotalwage;
};
I******************************************************************************职工变量定义
******************************************************************************Istructemployeeemp[N];
structemployeereplace;
structemployee*p=emp;
/*****************************************************************************
系统主函数
******************************************************************************
}
功能:
登陆函数,进行密码验证
*****************************************************************************/
voidenter()
charq;
charkey[10],password[10]="
china"
;
intk=1,i;
\n"
);
printf("
请输入密码:
for(i=0;
i<
5;
i++)
q=getch();
key[i]=q;
printf("
*"
while(k<
=3)
if(strncmp(key,password,5)==0){
while
(1)
inta;
〃system("
cls"
a=menu();
switch(a)
case1:
input();
break;
case2:
output();
case3:
search();
case4:
edit();
case5:
array();
case6:
load();
statistics();
case0:
\n\n\n\n"
\n\n谢谢使用!
save();
exit(0);
else
k++;
printf("
输入密码错误!
请再次输入:
”);
if(k>
2)
if(strncmp(password,key,5)==0)
continue;
printf(”输入密码错误三次,系统将自动退出!
exit(O);
}/************************************************************************功能:
主菜单函数
参数:
a
类型:
int
说明:
变量返回值:
************************************************************************/intmenu()
inta;
\n\n"
scanf("
%d"
&
a);
while(a>
6||a<
0)
error!
请重新输入你所选择的选项:
”);
&
returna;
/*********************************************************************************
职工信息输入
**********************************************************************************voidinput()
intc;
\n\n\n”);
p=emp;
printf(”进入职工信息输入模块
for(c=0;
c<
N;
c++,p++)
{p[c].totalwage=p[c].basesalary+p[c].postwage;
printf("
请输入第%d个职工信息:
\n\n”,c+1);
请输入职工号:
seanf("
%s"
p->
employeeid);
if(strcmp(p->
employeeid,"
0"
)!
=0)
请输入职工姓名:
name);
请输入职工性别:
p->
sex);
请输入职工年龄:
age);
请输入职工基本工资:
%f"
basesalary);
请输入职工岗位工资:
postwage);
职工信息输入完成!
\n\n"
return;
/*******************************************************************************
职工信息输出
********************************************************************************/
voidoutput()
intj;
进入职工信息输出模块\n\n\n”);
printf(”
岗位工资
——\n"
|职工号|姓名|性别|年龄|基本工资|
|总工资|\n"
\n"
for(j=0;
j<
j++)
p[j].totalwage=p[j].postwage+p[j].basesalary;
|%10s|%9s|%7s|%5d|%10.2f|%10.2f|%10.2f|\n"
p[j].employeeid,p[j].name,p[j].sex,
p[j].age,p[j].basesalary,p[j].postwage,p[j].totalwage);
\n\n职工信息输出完成!
getchar();
/******************************************************************************能:
职工信息查询
**/
****************************************************************************voidsearch(){
printf(”
scanf("
j);
if(j>
=0&
&
=2){
*********************
耳口工信自查^询*********************\n\n\n"
)
1
按职工号查询
2
按职工姓名查询
退出该项操作
请输入你的选择
switch(j)
search_employeeid();
search_name();
}else
/*******************************************************************************功能:
按职工号查询函数
*******************************************************************************/voidsearch_employeeid()
employeeid);
for(k=0;
k<
k++)
{if(strcmp(employeeid,p->
employeeid)==0){
j=k;
|职工号|姓名|性别|年龄|基本工资
p[j].employeeid,
p[j].name,p[j].sex,
--\n"
break;
notfound\n"
/*****************************************************************************功能:
按职工姓名查询函数
***************************************************************************
voidsearch_name()
intflog=0;
intf,j;
name);
for(f=0;
f<
f++,p++)
if(strcmp(name,p->
name)==O)
j=f;
|岗位工资
notfound\n\n"
职工信息修改函数
*******************************************************************************/
voidedit()
chare[10];
intg=0,j;
charflog;
printf(”请输入你要修改职工的职工号:
e);
for(g=0;
g<
g++)
//if(*e==p[g].employeeid)
if(strcmp(e,p->
employeeid)==0)
j=g;
print(”
|基本工资I岗
|职工号|姓名|性别|年龄
位工资|总工资|\n"
p[j].employeeid,p[j].name,p[j].sex,
p[j].age,p|j].basesalary,p[j].postwage,p|j].totalwage);
否)?
是否要修改该职工信息?
y(是)orn(
%c"
flog);
if(flog=='
y'
请输入新姓名:
请输入性别:
请输入年龄:
请输入基本工资:
请输入岗位工资:
修改职工信息成功!
n'
退出该项操作!
if(g==N)
printf(”notfound\n\n\n”);
}}
/************************************************************************
职工工资排列函数
************************************************************************/
输入错误!
\n\n\n"
请再次输入你的选择:
/**************************************************************************
按基本工资排列(选择法)
***************************************************************************/voidarray_basesalary(){
inti,j,k;
N-1;
i++){
k=i;
for(j=i+1;
if(p[k].basesalary<
P[j].basesalary)
k=j;
if(k!
=i)
replace=emp[k];
emp[k]=emp[i];
emp[i]=replace;
按岗位工资排列(冒泡法)
*************************************************************************/
voidarray_postwage()
inti,j;
N-i;
if(p[j].postwage<
p[j+1].postwage)
replace=emp[j];
emp[j]=emp[j+1];
emp[j+1]=replace;
p[j].totalwage=p|j].postwage+p[j].basesalary;
/**
**********************************************************************
按总工资排列(插入法)
**********************************************************************voidarray_totalwage()
{-
for(i=1;
replace=emp[i];
for(j=i-1;
j>
p[i].totalwage>
p[i].totalwage;
j--)
emp[j+1]=emp[j];
for(j=N-1;
=0;
{p[j].totalwage=p[j].postwage+p[j].basesalary;
|职工号|姓名|性别|年龄|基本工资|
/*************************************************************************
工资统计函数
**************************************************************************]
voidstatistics。
intz,a=0,b=0,c=0;
p=emp;
for(z=0;
z<
z++)
if(p[z].totalwage>
3000)
a++;
=2000&
p[z].totalwage<
=3000)
b++;
if(p[z].totalwage<
p[z].totalwage>
c++;
总工资在3000元以上的职工人数有:
%d\n\n"
a);
总工资在2000元至3000元的职工人数有:
%d\n\n”,b);
总工资在2000元以下的职工人数有:
%d\n