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

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

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

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

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

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

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

#include//调用库函数

#include//字符串处理

#include//控制台输入输出

#include//定义杂项函数及内存分配函数

#defineN2//宏定义以3代替N

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

函数声明

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

voidenter();

intmenu();

voidinput();

voidoutput();

voidsearch();

voidsearch_employeeid();

voidsearch_name();

voidedit();

voidarray();

voidarray_basesalary();

voidarray_postwage();

voidarray_totalwage();

voidstatistics();

voidsave();

voidload();

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

职工类型定义

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

structemployee

{

charemployeeid[10];

charname[10];

charsex[10];

intage;

floatbasesalary;

floatpostwage;

floattotalwage;

};

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

职工变量定义

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

structemployeeemp[N];

structemployeereplace;

structemployee*p=emp;

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

系统主函数

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

voidmain()

{

intc;

while

(1)

{

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

printf("欢迎进入职工工资管理系统\n\n\n");

printf("1进入管理系统\n\n");

printf("0退出\n\n");

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

printf("请输入你选择:

\n");

scanf("%d",&c);

switch(c)

{

case1:

enter();

break;

case0:

printf("谢谢使用!

\n");

exit(0);

}

}

}

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

功能:

登陆函数,进行密码验证

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

voidenter()

{

charq;

charkey[10],password[10]="china";

intk=1,i;

printf("请输入密码:

\n");

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:

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

\n\n\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

{

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

\n");

exit(0);

}

}

}

}

}

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

功能:

主菜单函数

参数:

a

类型:

int

说明:

变量

返回值:

a

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

intmenu()

{

inta;

printf("\n\n");

printf("|*****************欢迎进入职工工资管理系统************************|\n");

printf("||\n");

printf("||\n");

printf("|1职工信息输入|\n");

printf("||\n");

printf("|2职工信息输出|\n");

printf("||\n");

printf("|3职工信息查询|\n");

printf("||\n");

printf("|4职工信息修改|\n");

printf("||\n");

printf("|5工资排序|\n");

printf("||\n");

printf("|6工资统计|\n");

printf("||\n");

printf("|0退出|\n");

printf("||\n");

printf("||\n");

printf("|*****************************************************************|\n");

printf("\n\n");

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

");

scanf("%d",&a);

while(a>6||a<0)

{

printf("error!

\n");

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

");

scanf("%d",&a);

}

returna;

}

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

功能:

职工信息输入

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

voidinput()

{

intc;

p=emp;

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

for(c=0;c

{

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

printf("请输入第%d个职工信息:

\n\n",c+1);

printf("请输入职工号:

\n");

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

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

=0)

{

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

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("*********************职工信息查询*********************\n\n\n");

printf("1按职工号查询\n");

printf("2按职工姓名查询\n");

printf("0退出该项操作\n");

printf("\n\n");

while

(1)

{

printf("请输入你的选择\n");

scanf("%d",&j);

if(j>=0&&j<=2)

{

switch(j)

{

case1:

search_employeeid();break;

case2:

search_name();break;

case0:

return;

}

}

else

{

printf("输入错误!

\n\n");

printf("请再次输入你的选择:

\n\n");

}

}

}

}

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

功能:

按职工号查询函数

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

voidsearch_employeeid()

{

charemployeeid[10];

intk,j;

p=emp;

printf("*********************按职工号查询职工信息*****************************\n\n\n\n");

printf("请输入要查询职工的职工号:

\n\n");

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

printf("******************************按职工姓名查询职工信息***********************\n\n\n");

printf("请输入要查询职工的姓名:

\n\n");

scanf("%s",name);

for(f=0;f

{

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

{

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;

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

\n");

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;

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");

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

y(是)orn(否)?

\n\n");

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

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

\n\n");

}

if(flog=='n')

{

printf("退出该项操作!

\n\n");

return;

}

save();

}

if(g==N)

{

printf("notfound\n\n\n");

return;

}

}

}

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

功能:

职工工资排列函数

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

voidarray()

{

intj;

while

(1)

{

printf("*************************工资排序*********************\n\n");

printf("1按基本工资排序\n\n");

printf("2按岗位工资排序\n\n");

printf("3按总工资排列\n\n");

printf("0退出\n\n");

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

while

(1)

{

printf("请输入你的选择:

\n\n");

scanf("%d",&j);

if(j>=0&&j<=3)

{

switch(j)

{

case1:

array_basesalary();break;

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

当前位置:首页 > 工程科技 > 冶金矿山地质

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

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