c语言课程设计职工工资管理系统源代码.docx
- 文档编号:7423308
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:23
- 大小:172.14KB
c语言课程设计职工工资管理系统源代码.docx
《c语言课程设计职工工资管理系统源代码.docx》由会员分享,可在线阅读,更多相关《c语言课程设计职工工资管理系统源代码.docx(23页珍藏版)》请在冰豆网上搜索。
c语言课程设计职工工资管理系统源代码
绝对可以完美运行,下面有运行图片
#include
#include
调用库函数
字符串处理
控制台输入输出
定义杂项函数及内存分配函数
宏定义以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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 职工工资 管理 系统 源代码
![提示](https://static.bdocx.com/images/bang_tan.gif)