1、职工工资管理小软件/* 职工工资管理小软件 */#include#include#include#include#define N 3/* 函数声明 */void enter();int menu();void input();void output();void search();void search_employeeid();void search_name();void edit();void array();void array_basesalary();void array_postwage();void array_totalwage();void statistics();vo
2、id save();void load();/* 定义类型 */struct employee char employeeid10; / *职工号*/ char name10; /*姓名*/ int sex; /*姓名*/ int age; /*年龄*/ float basesalary; /*基本工资*/ float postwage; /*岗位工资*/ float totalwage; /*总工资*/;/* 职工变量定义 */ struct employee empN;struct employee replace;struct employee *p=emp;/* 系统主函数 */ vo
3、id main() int c; while(1) printf( nnnn); printf( 欢迎进入职工工资管理系统 nnn); printf( 1 进入管理系统 nn); printf( 0 退出 nn); printf( nnnn); printf( 请输入您的选择: n); scanf(%d,&c); switch(c) case 1: enter(); break; case 0: printf( 谢谢使用!n); exit(0); /* 登陆函数,进行密码验证 */void enter() char key10,password10=123; int k=1; printf(
4、请输入密码: n); scanf(%s,key); while(k2) if(strcmp(password,key)=0) continue; else printf( 输入密码错误三次,系统将自动退出!n); exit(0); /*功能: 主菜单函数参数:a 类型:int说明: 变量返回值: a*/int menu() int a ; printf(nn); printf(+ 欢 迎 进 入 职 工 工 资 管 理 系 统 +n); printf(+ +n); printf(+ + n); printf(+ 1 职工信息输入 + n); printf(+ + n); printf(+ 2
5、职工信息输出 + 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(nn); printf( 请输入你所选择的选项:); scanf(%d,&a); while(a6|
6、a0) printf( error!n); printf( 请重新输入你所选择的选项:); scanf(%d,&a); return a;/* 职工信息输入 */void input() int c; p=emp; printf( 进入职工信息输入模块 nnn); for(c=0;cemployeeid); if(strcmp(p-employeeid,0)!=0) printf( 请输入职工姓名:n); scanf(%s,p-name); printf( 请输入职工性别: n); scanf(%d,&p-sex); printf( 请输入职工年龄: n); scanf(%d,&p-age);
7、 printf( 请输入职工基本工资:n); scanf(%f,&p-basesalary); printf( 请输入职工岗位工资:n); scanf(%f,&p-postwage); printf( 职工信息输入完成! nn); else return; save();/* 职工信息输出 */void output() int j; load(); p=emp; printf( 进入职工信息输出模块 nnn); printf(-n); printf(|职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n); printf(-n); for(j=0;j=0&j=2) swit
8、ch(j) case 1: search_employeeid();break; case 2: search_name();break; case 0: return; else printf( 输入错误! nn); printf( 请再次输入你的选择: nn); /*功能:按职工号查询函数*/void search_employeeid() char employeeid10; int k,j; p=emp; printf(*按职工号查询职工信息*nnnn); printf( 请输入要查询职工的职工号: nn); scanf(%s,employeeid); for(k=0;kemploye
9、eid)=0) j=k; pj.totalwage=pj.postwage+pj.basesalary; printf(-n); printf(|职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n); printf(|%10s|%9s|%7d| %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; else printf( not foundn); return; /*功能:按
10、职工姓名查询函数*/void search_name() char name10; int flog=0; int f,j; p=emp; printf(*按职工姓名查询职工信息*nnn); printf( 请输入要查询职工的姓名: nn); scanf(%s,name); for(f=0;fname)=0) j=f; pj.totalwage=pj.postwage+pj.basesalary; printf(-n); printf(|职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n); printf(|%10s|%9s|%7d| %5d| %10.2f| %10.2f
11、| %10.2f|n,pj.employeeid,pj.name,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage); printf(-n); break; else printf( not found nn); return; getchar(); /*功能:职工信息修改函数*/void edit() char e10; int g=0,j; char flog; p=emp; printf( 请输入被修改职工的职工号: n); scanf(%s,e); for(g=0;gemployeeid)=0) j=g; pj.totalwag
12、e=pj.postwage+pj.basesalary; printf(-n); printf(|职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n); printf(|%10s|%9s|%7d| %5d| %10.2f| %10.2f| %10.2f|n,pj.employeeid,pj.name,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage); printf(-n); printf( 是否要修改该职工信息?y(是)or n(否)?nn); getchar(); scanf(%c,&flog); if(flog
13、 = y) printf( 请输入新姓名:n); scanf(%s,p-name); printf( 请输入性别: n); scanf(%d,&p-sex); printf( 请输入年龄: n); scanf(%d,&p-age); printf( 请输入基本工资:n); scanf(%f,&p-basesalary); printf( 请输入岗位工资:n); scanf(%f,&p-postwage); printf( 修改职工信息成功! nn); if(flog = n) printf( 请退出该项操作! nn); return; save(); if(g=N) printf( not f
14、ound nnn); return; /* 职工工资排列函数 */void array() int j; while(1) printf(*工资排序*nn); printf( 1 按基本工资排序 nn); printf( 2 按岗位工资排序 nn); printf( 3 按总工资排列 nn); printf( 0 退出 nn); printf(nnn); while(1) printf( 请输入您的选择: nn); scanf(%d,&j); if(j=0&j=3) switch(j) case 1: array_basesalary();break; case 2: array_postwa
15、ge();break; case 3: array_totalwage();break; case 0: return; else printf( 输入错误!nnn); printf( 请再次输入您的选择:nn); /* 按基本工资排列(选择法) */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;j
16、N;j+) pj.totalwage=pj.postwage+pj.basesalary; printf(-n); printf(|职工号 |姓名 |性别 |年龄 |基本工资 |岗位工资 |总工资 |n); printf(|%10s|%9s|%7d| %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_postwage() int i,j; p=emp; for(i=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1