1、c语言课程设计职工工资管理系统源代码绝对可以完美运行,下面有运行图片#in clude II#in clude II #in clude II #i nclude II #defi ne N 2 II调用库函数字符串处理控制台输入输出定义杂项函数及内存分配函数宏定义以3代替NI*函数声明*Ivoid en ter();int men u();void in put();void output。;void search();void search_employeeid();void search_ name();void edit();void array();void array_basesa
2、lary();void array_postwage();void array_totalwage();void statistics();void save();void load();I* 职工类型定义*struct employeechar employeeid10;char n ame10;char sex10;int age;float basesalary;float postwage;float totalwage;I* 职工变量定义*I struct employee empN;struct employee replace;struct employee *p=emp;/*系
3、统主函数*/*功能:登陆函数,进行密码验证*/void en ter()char q;char key10,password10=chi na;int k=1,i;n);prin tf( 请输入密码:for(i=0;i5;i+)q=getch(); keyi=q; prin tf(*);while(k=3)if(strn cmp(key,password,5)=0) while(1)int a;system(cls); a=me nu();switch(a)case 1:in put();break;case 2:output();break;case 3:search();break;cas
4、e 4:edit();break;case 5:array();break;case 6:load();statistics();break;case 0:nnnn);prin tf(nn 谢谢使用!save();exit(0);elsek+;printf( 输入密码错误!请再次输入 :”);for(i=0;i2)if(str ncmp(password,key,5)=0)con ti nue;elsen);printf(” 输入密码错误三次,系统将自动退出!exit(O); /* 功能:主菜单函数参数:a类型:int说明:变量 返回值:a*/ int menu()int a ; prin t
5、f(nn);scan f(%d,&a);while(a6|a0)printf( error!n);printf( 请重新输入你所选择的选项:”);scan f(%d, &a);return a;/*功能:职工信息输入* void in put()int c;nnn ”);p=emp;printf(” 进入职工信息输入模块for(c=0;cemployeeid);if(strcmp(p-employeeid,0)!=0)printf( 请输入职工姓名:n);sea nf(%s,p-n ame);printf( 请输入职工性别:n);scan f(%s,&p-sex);printf( 请输入职工年
6、龄:n);scan f(%d, &p-age);printf( 请输入职工基本工资:n);scan f(%f,&p-basesalary);printf( 请输入职工岗位工资:n);scan f(%f,&p-postwage);printf( 职工信息输入完成! nn);elsereturn;save();/*功能:职工信息输出*/void output()int j;load();p=emp;prin tf( 进入职工信息输出模块 nnn ”);printf(” 岗位工资n);prin tf(| 职工号|姓名 | 性别|年龄|基本工资 |总工资 |n);printf( n);for(j=0;
7、j=0&j=2) prin tf(*耳口工信自查询 *nnn)printf(”1按职工号查询n);printf(”2按职工姓名查询n);printf(”0退出该项操作n);prin tf(nn);while(1)请输入你的选择n);switch(j)case 1:search_employeeid();break;case 2:search_ name();break;case 0:return; elsenn);/* 功能:按职工号查询函数*/ void search_employeeid()char employeeid10;nn);sea nf(%s,employeeid); for(k
8、=0;kemployeeid)=0) j=k;pj.totalwage=pj.postwage+pj.basesalary;printf( 岗位工资 n);prin tf(| 职工号 |姓名 | 性别|年龄|基本工资|总工资 |n);printf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj. name,pj.sex,pj.age,pj.basesalary,pj.postwage,pj.totalwage);printf( -n); break;elseprin tf( not foun dn);return;/*
9、 功能:按职工姓名查询函数*void search_ name()char n ame10;int flog=0;int f,j;p=emp;nn);sca nf(%s, name);for(f=0;fn ame)=O)j=f;pj.totalwage=pj.postwage+pj.basesalary;printf(” n);| 岗位工资prin tf(| 职工号 |姓名 | 性别|年龄|基本工资|总工资 |n);printf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid, pj. name,pj.sex,pj.age,
10、pj.basesalary,pj.postwage,pj.totalwage);printf( n);break;elseprin tf( not found nn);return;getchar();/*功能:职工信息修改函数*/void edit()char e10;in t g=0,j;char flog;p=emp;n);printf(” 请输入你要修改职工的职工号:scan f(%s,e);for(g=0;gemployeeid)=0)j=g;pj.totalwage=pj.postwage+pj.basesalary;print(” n);|基本工资 I 岗prin tf(| 职工
11、号|姓名 | 性别|年龄位工资 | 总工资 |n);printf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj. n ame,pj.sex,pj.age,p|j.basesalary,pj.postwage,p|j.totalwage);print(” n);否)? nn);printf( 是否要修改该职工信息? y(是)or n(getchar();scan f(%c, &flog);if(flog = y)prin tf( 请输入新姓名:n);sca nf(%s,p-n ame);prin tf( 请输入性别:
12、n);scan f(%s,&p-sex);prin tf( 请输入年龄: n);sca nf(%d,&p-age);printf( 请输入基本工资:n);sca nf(%f,&p-basesalary);prin tf( 请输入岗位工资:n);sca nf(%f,&p-postwage);nn);printf( 修改职工信息成功!if(flog = n)prin tf( 退出该项操作! nn);return;save();if(g=N)printf(” not found nnn ”);return; /*功能:职工工资排列函数*/输入错误! nnn);请再次输入你的选择:/*功能:按基本工资
13、排列(选择法)*/ void array_basesalary() int i,j,k;p=emp;for(i=0;iN-1;i+) k=i;for(j=i+1;jN;j+)if(pk.basesalaryPj.basesalary)k=j;if(k!=i)replace=empk;empk=empi;empi=replace;for(j=0;jN;j+)pj.totalwage=pj.postwage+pj.basesalary;printf(” 岗位工资 n);prin tf(| 职工号|姓名 | 性别|年龄|基本工资 |总工资 |n);printf(|%10s|%9s|%7s| %5d|
14、 %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj. name,pj.sex,pj.age,pj.basesalary,pj.postwage,pj.totalwage);printf( n);/*功能:按岗位工资排列(冒泡法)*/void array_postwage()int i,j;p=emp;for(i=0;iN;i+)for(j=0;jN-i;j+)if(pj.postwagepj+1.postwage)replace=empj;empj=empj+1;empj+1=replace;for(j=0;jN;j+)pj.totalwage=p|j.pos
15、twage+pj.basesalary;printf(” 岗位工资 n);prin tf(| 职工号|姓名 | 性别|年龄|基本工资 |总工资 |n);printf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid, pj. name,pj.sex,pj.age,pj.basesalary,pj.postwage,pj.totalwage);printf( n);/*功能:按总工资排列(插入法)* void array_totalwage() -int i,j;p=emp;for(i=1;i=0&pi.totalwagepi.
16、totalwage;j-)empj+1=empj;empj+1=replace;for(j=N-1;j=0;j-) pj.totalwage=pj.postwage+pj.basesalary;printf( 岗位工资 n);printf(| 职工号|姓名 | 性别| 年龄|基本工资 |总工资 |n);printf(|%10s|%9s|%7s| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid, pj. name,pj.sex,pj.age,pj.basesalary,pj.postwage,pj.totalwage);printf( n);/*功能:工资统计函数*void statistics。int z,a=0,b=0,c=0; p=emp;for(z=0;z3000)a+;con ti nue;if(pz.totalwage=2000&pz.totalwage=3000)b+;con ti nue;if(pz.totalwage0)c+;con ti nue;printf( 总工资在3000元以上的职工人数有: dnn,a);printf( 总工资在 2000元至3000元的职工人数有: %dnn”,b);printf( 总工资在2000元以下的职工人数有: %dn
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1