人事管理系统源代码.doc
《人事管理系统源代码.doc》由会员分享,可在线阅读,更多相关《人事管理系统源代码.doc(16页珍藏版)》请在沃文网上搜索。
1、#includestdio.h /*数据库输入输出函数库*/#includestdlib.h /*标准函数库*/#includestring.h /*字符串函数库*/#includeconio.h /*屏幕操作函数库*/#define HEADER1 -RSDA-n#define HEADER2 |number | name | jbgz | jj | kk | yfgz | sk | n#define HEADER3 |-|-|-|-|-|-|-|n#define FORMAT |%-8s|%-8s |%8.2f|%8.2f|%8.2f|%8.2f|%8.2f| n#define DATA
2、p-num, p-name, p-jbgz, p-jj, p-kk, p-yfgz, p-sk, p-sfgz#define END -n#define N 60int saveflag=0; /*是否需要存盘的标志变量*/*定义与职工有关的数据结构*/typedef struct employee /*标记为employee*/ char num10; /*职工编号*/char name15; /*职工姓名*/float jbgz; /*基本工资*/ float jj; /*奖金*/float kk; /*扣款*/float yfgz; /*应发工资*/float sk; /*税款*/flo
3、at sfgz; /*实发工资*/RSDA;void menu() /*主菜单*/ system(cls); /*调用DOS命令,清屏。与clrscr()功能相同*/;cprintf( THE EMPLOYEE Management System n);cprintf( *Menu*n);cprintf( * 1 input record 2 delete record *n);cprintf( * 3 search record 4 modify record *n);cprintf( * 5 insert record 6 count record *n);cprintf( * 7 sor
4、t record 8 save record *n);cprintf( * 9 sort record 0 quit system *n);cprintf( *Menu*n); /*cprintf()送格式化输出至文本窗口屏幕中*/ void printheader() /*格式化输出表头*/printf(HEADER1); printf(HEADER2);printf(HEADER3);void printdata(RSDA pp) /*格式化输出表中数据*/RSDA*p;p=&pp;printf(FORMAT,DATA);void Disp(RSDA tp,int n) /*显示数组tp中
5、储存的记录,内容为employee结构中定义的内容*/int i;if(n=0) /*表示没有职工工资记录*/printf(n=Not employee record!n);while(getchar()!=n)continue;getchar();return ;printf(nn);printheader(); /*输出表头头部*/i=0;while(iNot find this employee record!n); /*作用:用于定位数组中符合要求的记录,并返回保存该记录的数组元素下标值 参数:findmess保存要查找的具体内容;nameornum保存按什么数组中查找*/int Lo
6、cate (RSDA tp,int n,char findmess,char nameornum)int i=0;if(strcmp(nameornum,num)=0) /*按职工编号查询*/while (in)if(strcmp(tpi.num,findmess)=0) /*若找到findmess值的职工编号*/return i;i+;else if(strcmp(nameornum,name)=0) /*按职工姓名查询*/while (ilens) printf(n exceed the required length! n); /*进行长度校验,超过lens值重新输入*/while (s
7、trlen(n)lens);strcpy(t,n); /*讲输入的字符串复制到自复查un个t中*/ /*输入数值,=树枝*/float numberinput(char *notice)float t=0.00;doprintf(notice); /*显示提示信息*/scanf(%f,&t); /*输入如工资等数值型的值*/if(t=0! n); /*进行数值校验*/while(t0);return t;int Add(RSDA tp,int n)char ch,num10;int i,flag=0;system (cls);Disp (tp,n); /*先打印出已有的职工工资信息*/whil
8、e(1) /*一次可输入多条记录,直至输入职工编号为的记录才结束添加操作*/while(1) /*输入职工编号,保证该编号没有被使用,若输入编号为,则推出添加记录操作*/stringinput(num,10,input number(press 0 return menu):);/*格式化输入编号并校验*/flag=0;if(strcmp(num,0)=0) /*输入为,则推出添加草i做,返回主界面*/return n;i=0;while(iThe number %s is existing,try again?(y/n):,num);scanf(%c,&ch);if(ch=y|ch=Y)co
9、ntinue;elsereturn n;elsebreak;strcpy(tpn.num,num); /*就爱那个字符串num复制到tp.num中*/stringinput(tpn.name,15,Name:); tpn.jbgz=numberinput(jbgz:); /*输入并检验基本工资*/ tpn.jj=numberinput(jiangjin:); /*输入并检验奖金*/ tpn.kk=numberinput(koukuan:); /*输入并检验扣款*/tpn.yfgz=tpn.jbgz+tpn.jj-tpn.kk; /*计算应发工资*/tpn.sk=tpn.yfgz*0.12; /
10、*计算税金,这里取应发工资的%*/tpn.sfgz=tpn.yfgz-tpn.sk; /*计算实发工资*/saveflag=1;n+;return n; /*按职工编号或姓名,查询记录*/ void Qur (RSDA tp,int n) int select; /*1:按编号查,:按姓名查,其他:返回主界面*/ char searchinput20; /*保存用户输入的查询内容*/ int p=0; if(nNo employee record!n); getchar(); return ; system(cls); printf( n=1 Search by number =2 Searc
11、h by namen);printf( please choice1,2:);scanf(%d,&select);if(select=1) /*按编号查询*/stringinput(searchinput,10,input the existing employee number:);p=Locate(tp,n,searchinput,num); /*在数组tp中查找编号为searchinput值的元素,并返回该数组元素的下标值*/if (p!=-1) /*若找到该记录*/printheader();printdata(tpp);printf(END);printf(press any key
12、 to return);getchar();elseNofind();getchar(); else if(select=2) /*按姓名查询*/ stringinput(searchinput,15,input the existing emp;oyee name:); p=Locate(tp,n,searchinput,name); if(p!=-1) printheader(); printdata(tpp); printf(END); printf(press any key to return); getchar(); else Nofind(); getchar(); else W
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统 源代码