《2022年c语言课程设计职工工资管理系统源代码 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言课程设计职工工资管理系统源代码 .pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、绝对可以完美运行,下面有运行图片#include /调用库函数#include /字符串处理#include /控制台输入输出#include /定义杂项函数及内存分配函数#define N 2 /宏定义以 3 代替 N /* 函数声明*/ 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_
2、postwage(); void array_totalwage(); void statistics(); void save(); void load(); /* 职工类型定义*/ struct employee char employeeid10; char name10; char sex10; int age; float basesalary; float postwage; float totalwage; ; /* 职工变量定义*/ struct employee empN; struct employee replace; struct employee *p=emp; /*
3、 系统主函数*/ void main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 15 页 - - - - - - - - - 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();
4、break; case 0: printf( 谢谢使用 !n); exit(0); /* 功能:登陆函数,进行密码验证*/ void enter() char q; char key10,password10=china; int k=1,i; printf( 请输入密码:n); for(i=0;i5;i+) q=getch(); keyi=q; printf(*); while(k=3) if(strncmp(key,password,5)=0) while(1) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
5、- - - - - - - 第 2 页,共 15 页 - - - - - - - - - int a; /system(cls); a=menu(); switch(a) case 1: input();break; case 2: output();break; case 3: search();break; case 4: edit();break; case 5: array();break; case 6: load();statistics();break; case 0: printf(nn 谢谢使用! nnnn); save(); exit(0); else k+; printf
6、( 输入密码错误!请再次输入:); for(i=0;i2) if(strncmp(password,key,5)=0) continue; else printf( 输入密码错误三次,系统将自动退出!n); exit(0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 15 页 - - - - - - - - - /* 功能 : 主菜单函数参数: a 类型: int 说明 : 变量返回值 : a */ int menu() int a ; printf(nn); pr
7、intf(|*欢迎进入职工工资管理系统*|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); pri
8、ntf(| |n); printf(|*|n); printf(nn); printf( 请输入你所选择的选项:); scanf(%d,&a); while(a6|a0) printf( error!n); printf( 请重新输入你所选择的选项:); scanf(%d,&a); return a; /* 功能:职工信息输入*/ void input() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 15 页 - - - - - - - - - int c; p=em
9、p; printf( 进入职工信息输入模块nnn); for(c=0;cemployeeid); 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( 职工信息输
10、入完成!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) switch(j) case 1: search_employeeid();break; case 2: search_name();break; case 0: return; else printf( 输入错误!nn); p
11、rintf( 请再次输入你的选择: nn); /* 功能:按职工号查询函数*/ void search_employeeid() char employeeid10; int k,j; p=emp; printf(*按职工号查询职工信息*nnnn); printf( 请输入要查询职工的职工号:nn); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 15 页 - - - - - - - - - scanf(%s,employeeid); for(k=0;kemployee
12、id)=0) j=k; 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); break; else printf( not foundn); return; /* 功能:按职工姓名查询
13、函数*/ 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|%7s| %5d| %10.2f| %10.2f| %10.2f|n,p
14、j.employeeid,pj.name,pj.sex, pj.age,pj.basesalary,pj.postwage,pj.totalwage); printf(-n); break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 15 页 - - - - - - - - - else printf( not found nn); return; getchar(); /* 功能:职工信息修改函数*/ void edit() char e10; int g=0,j
15、; char flog; p=emp; printf( 请输入你要修改职工的职工号:n); scanf(%s,e); for(g=0;gemployeeid)=0) j=g; 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.to
16、talwage); printf(-n); printf( 是否要修改该职工信息?y(是)or n(否)? nn); 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); 名师资
17、料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 15 页 - - - - - - - - - printf( 修改职工信息成功!nn); if(flog = n) printf( 退出该项操作!nn); return; save(); if(g=N) printf( not found nnn); return; /* 功能:职工工资排列函数*/ void array() int j; while(1) printf(*工资排序 *nn); printf( 1 按基本工资排序n
18、n); 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_postwage();break; case 3: array_totalwage();break; case 0: return; else printf( 输入错误! nnn); 名师资料总结 - - -精品资料欢
19、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 15 页 - - - - - - - - - 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;
20、 for(j=0;jN;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 array_postwage() int i,j
21、; p=emp; for(i=0;iN;i+) for(j=0;jN-i;j+) if(pj.postwagepj+1.postwage) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 15 页 - - - - - - - - - replace=empj; empj=empj+1; empj+1=replace; for(j=0;jN;j+) pj.totalwage=pj.postwage+pj.basesalary; printf(-n); printf(| 职
22、工号|姓名|性别|年龄|基本工资|岗位工资|总工资|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.totalwage;j-) empj+1=empj; empj+1=replace;
23、 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() 名师资料总结 - - -精
24、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 15 页 - - - - - - - - - int z,a=0,b=0,c=0; p=emp; for(z=0;z3000) a+; continue; if(pz.totalwage=2000&pz.totalwage=3000) b+; continue; if(pz.totalwage0) c+; continue; printf( 总工资在3000 元以上的职工人数有:%dnn,a); printf( 总工资在2000 元至 3000 元
25、的职工人数有:%dnn,b); printf( 总工资在2000 元以下的职工人数有:%dnn,c); getchar(); /* 功能:导出函数*/ void save() int k; FILE *fp; p=emp; if(fp=fopen(emp_list,wb)=NULL) printf( Create file error!n); return; for(k=0;kN;k+,p+) if(fwrite(p,sizeof(struct employee),1,fp)!=1) printf( file save error!nn); break; else continue; getc
26、har(); fclose(fp); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 15 页 - - - - - - - - - /* 功能:导入函数*/ void load() int l; FILE *fp; p=emp; if(fp=fopen(emp_list,rb)=NULL) printf( Create file error!n); exit(0); for(l=0;lN;l+,p+) if(fread(p,sizeof(struct employee)
27、,1,fp)!=1) printf( file read error!nn); break; else continue; getchar(); fclose(fp); 下面是实验结果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 15 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 15 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 15 页 - - - - - - - - -