c语言课程设计职工工资管理系统源代码.docx

上传人:b****5 文档编号:7423308 上传时间:2023-01-23 格式:DOCX 页数:23 大小:172.14KB
下载 相关 举报
c语言课程设计职工工资管理系统源代码.docx_第1页
第1页 / 共23页
c语言课程设计职工工资管理系统源代码.docx_第2页
第2页 / 共23页
c语言课程设计职工工资管理系统源代码.docx_第3页
第3页 / 共23页
c语言课程设计职工工资管理系统源代码.docx_第4页
第4页 / 共23页
c语言课程设计职工工资管理系统源代码.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

c语言课程设计职工工资管理系统源代码.docx

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

c语言课程设计职工工资管理系统源代码.docx

c语言课程设计职工工资管理系统源代码

绝对可以完美运行,下面有运行图片

#includeII

#includeII#includeII#includeII#defineN2II

调用库函数

字符串处理

控制台输入输出

定义杂项函数及内存分配函数

宏定义以3代替N

I**

****************************************************************************

函数声明

*****************************************************************************

**I

voidenter();

intmenu();

voidinput();

voidoutput。

voidsearch();

voidsearch_employeeid();

voidsearch_name();

voidedit();

voidarray();

voidarray_basesalary();

voidarray_postwage();

voidarray_totalwage();

voidstatistics();

voidsave();

voidload();

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();break;

case3:

search();break;

case4:

edit();break;

case5:

array();break;

case6:

load();statistics();break;

case0:

\n\n\n\n");

printf("\n\n谢谢使用!

save();

exit(0);

}

}

}

else

{

k++;

printf("输入密码错误!

请再次输入:

”);

for(i=0;i<5;i++)

{

q=getch();key[i]=q;printf("*");

}

if(k>2)

{

if(strncmp(password,key,5)==0)

continue;

else

{

\n");

printf(”输入密码错误三次,系统将自动退出!

exit(O);

}

}

}

}

}/************************************************************************功能:

主菜单函数

参数:

a

类型:

int

说明:

变量返回值:

a

************************************************************************/intmenu()

inta;printf("\n\n");

scanf("%d",&a);

while(a>6||a<0)

{

printf("error!

\n");

printf("请重新输入你所选择的选项:

”);

scanf("%d",&a);

}

returna;

}

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

功能:

职工信息输入

**********************************************************************************voidinput()

{

intc;

\n\n\n”);

p=emp;

printf(”进入职工信息输入模块

for(c=0;c

{p[c].totalwage=p[c].basesalary+p[c].postwage;printf("请输入第%d个职工信息:

\n\n”,c+1);

printf("请输入职工号:

\n");

seanf("%s",p->employeeid);

if(strcmp(p->employeeid,"0")!

=0)

{

printf("请输入职工姓名:

\n");

seanf("%s",p->name);

printf("请输入职工性别:

\n");

scanf("%s",&p->sex);

printf("请输入职工年龄:

\n");

scanf("%d",&p->age);

printf("请输入职工基本工资:

\n");

scanf("%f",&p->basesalary);

printf("请输入职工岗位工资:

\n");

scanf("%f",&p->postwage);

printf("职工信息输入完成!

\n\n");

}

else

return;

}

save();

}

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

功能:

职工信息输出

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

voidoutput()

{

intj;

load();

p=emp;

printf("进入职工信息输出模块\n\n\n”);

printf(”

岗位工资

——\n");

printf("|职工号|姓名|性别|年龄|基本工资|

|总工资|\n");

printf("

\n");

for(j=0;j

{

p[j].totalwage=p[j].postwage+p[j].basesalary;

printf("|%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);

printf("

\n");

}

printf("\n\n职工信息输出完成!

\n\n");

getchar();

}

/******************************************************************************能:

职工信息查询

**/

****************************************************************************voidsearch(){

intj;

while

(1)

printf(”

scanf("%d",&j);if(j>=0&&j<=2){

{

printf("*********************

耳口工信自查^询*********************\n\n\n")

printf(”

1

按职工号查询

\n");

printf(”

2

按职工姓名查询

\n");

printf(”

0

退出该项操作

\n");

printf("\n\n");

while

(1)

{

请输入你的选择

\n");

switch(j)

{

case1:

search_employeeid();break;

case2:

search_name();break;

case0:

return;

}

}else

{

\n\n");

/*******************************************************************************功能:

按职工号查询函数

*******************************************************************************/voidsearch_employeeid()

{

charemployeeid[10];

\n\n");

seanf("%s",employeeid);for(k=0;k

{if(strcmp(employeeid,p->employeeid)==0){

j=k;

p[j].totalwage=p[j].postwage+p[j].basesalary;

printf("

岗位工资

\n");

printf("|职工号|姓名|性别|年龄|基本工资

|总工资|\n");

printf("|%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);

printf("

--\n");break;

}

else

{

printf("notfound\n");

return;

}

}

}

/*****************************************************************************功能:

按职工姓名查询函数

***************************************************************************

voidsearch_name()

{

charname[10];

intflog=0;

intf,j;

p=emp;

\n\n");

scanf("%s",name);

for(f=0;f

{

if(strcmp(name,p->name)==O)

{

j=f;

p[j].totalwage=p[j].postwage+p[j].basesalary;

printf(”

——\n");

|岗位工资

printf("|职工号|姓名|性别|年龄|基本工资

|总工资|\n");

printf("|%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);

printf("

\n");

break;

}

else

{

printf("notfound\n\n");

return;

}

}

getchar();

}

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

功能:

职工信息修改函数

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

voidedit()

{

chare[10];

intg=0,j;

charflog;

p=emp;

\n");

printf(”请输入你要修改职工的职工号:

scanf("%s",e);

for(g=0;g

{

//if(*e==p[g].employeeid)

if(strcmp(e,p->employeeid)==0)

{

j=g;

p[j].totalwage=p[j].postwage+p[j].basesalary;

print(”

——\n");

|基本工资I岗

printf("|职工号|姓名|性别|年龄

位工资|总工资|\n");

printf("|%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);

print(”

——\n");

否)?

\n\n");

printf("是否要修改该职工信息?

y(是)orn(

getchar();

scanf("%c",&flog);

if(flog=='y')

{

printf("请输入新姓名:

\n");

scanf("%s",p->name);

printf("请输入性别:

\n");

scanf("%s",&p->sex);

printf("请输入年龄:

\n");

scanf("%d",&p->age);

printf("请输入基本工资:

\n");

scanf("%f",&p->basesalary);

printf("请输入岗位工资:

\n");

scanf("%f",&p->postwage);

\n\n");

printf("修改职工信息成功!

}

if(flog=='n')

{

printf("退出该项操作!

\n\n");

return;

}

save();

}

if(g==N)

{

printf(”notfound\n\n\n”);

return;

}}

}

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

功能:

职工工资排列函数

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

输入错误!

\n\n\n");

请再次输入你的选择:

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

功能:

按基本工资排列(选择法)

***************************************************************************/voidarray_basesalary(){

inti,j,k;

p=emp;

for(i=0;i

k=i;

for(j=i+1;j

{

if(p[k].basesalary

k=j;

}

if(k!

=i)

{

replace=emp[k];

emp[k]=emp[i];

emp[i]=replace;

}

}

for(j=0;j

{

p[j].totalwage=p[j].postwage+p[j].basesalary;

printf(”

岗位工资

\n");

printf("|职工号|姓名|性别|年龄|基本工资|

|总工资|\n");

printf("|%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);

}

printf("

\n");

}

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

功能:

按岗位工资排列(冒泡法)

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

voidarray_postwage()

{

inti,j;

p=emp;

for(i=0;i

{

for(j=0;j

{

if(p[j].postwage

{

replace=emp[j];

emp[j]=emp[j+1];

emp[j+1]=replace;

}

}

}

for(j=0;j

{

p[j].totalwage=p|j].postwage+p[j].basesalary;

printf(”

岗位工资

\n");

printf("|职工号|姓名|性别|年龄|基本工资|

|总工资|\n");

printf("|%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);

}

printf("

\n");

/**

**********************************************************************

功能:

按总工资排列(插入法)

**********************************************************************voidarray_totalwage()

{-

inti,j;

p=emp;

for(i=1;i

{

replace=emp[i];

for(j=i-1;j>=0&&p[i].totalwage>p[i].totalwage;j--)

{

emp[j+1]=emp[j];

emp[j+1]=replace;

}

}

for(j=N-1;j>=0;j--)

{p[j].totalwage=p[j].postwage+p[j].basesalary;

printf("

岗位工资

\n");

printf("|职工号|姓名|性别|年龄|基本工资|

|总工资|\n");

printf("|%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);

}

printf("

\n");

}

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

功能:

工资统计函数

**************************************************************************]

voidstatistics。

{

intz,a=0,b=0,c=0;p=emp;

for(z=0;z

{

if(p[z].totalwage>3000)

{

a++;

continue;

}

if(p[z].totalwage>=2000&&p[z].totalwage<=3000)

{

b++;

continue;

}

if(p[z].totalwage<=2000&&p[z].totalwage>0)

{

c++;

continue;

}

}

printf("总工资在3000元以上的职工人数有:

%d\n\n",a);

printf("总工资在2000元至3000元的职工人数有:

%d\n\n”,b);

printf("总工资在2000元以下的职工人数有:

%d\n

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

当前位置:首页 > 农林牧渔 > 林学

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

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