职工工资管理系统程序
- 格式:doc
- 大小:17.00 KB
- 文档页数:9
1. 工资管理系统的数据流程图,如图:2. 主要数据字典 1) 数据项的定义数据项数据项名称类型及宽度简述取值范围编号 I1 标示其他部门提交的职工考勤信息的年考勤日期 Char ( 10) 月工资日期 Char10) 标示职工工资的年月 I2 职工编码 Char10) 唯一用来标示职工的编码 I3 部门名称 Char(20) 使用此系统单位内部子部分 I4 基本工资 decimal(7,2) I5 各部门内的员工固定工资,即部门岗位工资。
2)数据存储的描述数据数据存简述数据存储组成相关联的存储储名称处理编号 S1 变动工记录职工变动工资的工资日期 + 职工编码 + 加班费 + 奖金 + 水P2 、 p4 资表详细信息电费 + 保险费 + 病假扣款 + 事假扣款 + 旷工扣款 + 其他扣款 + 个人所得税 S2 基本工记录职工固定工资的工资日期 + 职工编码 + 基本工资 + 工 P4 、 p5 资表详细信息龄工资 + 岗位津贴 + 固定补贴 S3 工资计记录职工工资的详细工资日期 + 职工编码 + 职工姓名 + 个 P4 、 p5 、算表信息人账号 + 基本工资 + 工龄工资 + 岗位p6 、 p7 、津贴 + 固定补贴 + 变动津贴 + 加班费 + p8 、 p9 奖金 + 应发工资 + 水电费 + 保险费 + 病假扣款 + 事假扣款 + 旷工扣款 + 其他扣款 + 个人所得税 + 扣款合计 + 实发工资 S4 福利费记录职工福利费分配日期 + 职工编码 + 部门编码 + 对应科目编码 P8 、 p10 计提分的详细信息 + 金额配表 S5 个人所记录职工个人所得税职工编码 + 职工姓名 + 所得期间 + 所得项目 P9 、 p10 得税申情况 + 收入额合计 + 费用额 + 应纳税所得额 + 税报表率 + 速算扣除数 + 扣缴所得税额 S6 工资费描述工资费用的分摊日期 + 职工编码 + 部门编码 + 对应科目编码 P7 、 p10 用分配(来源) + 金额表S8 职员信职员基本信息职工编码 + 职工姓名 + 性别 + 人员类别 + P3 、 E3息表部门编码 + 部门名称 + 岗位编码 + 岗位名称 + 职称 + 工龄 + 个人账号 + 联系电话 S9 工资计设置职工工资项目金基本工资计算标准 + 变动工资计算标准 E3 、 P2 算标准额标准表 S10 考勤表记录职工考勤信息情考勤日期 + 职工编码 + 加班天数 + 病假天数 P1 、 P2 况 + 旷工天数 + 事假天数; 3)数据流的描述数据数据流简述数据流数据流数据流组成数据高峰流编名称来源去向流量流量号D1 考勤记输入的企业所有E1 P1 考勤日期 + 职工编码 + 1 次 1 次录职工的考勤信息加班天数 + 病假天数 + / 月 / 月旷工天数 + 事假天数; D1 人事基描述人事基本信E2 P3 职工编码 + 职工姓名 + 1 次 1 次本信息息性别 + 人员类别 + 部门/ 月 / 月编码 + 部门名称 + 岗位编码 + 岗位名称 + 职称 + 工龄 + 个人账号 + 联系电话 4) 处理的描述处理处理逻输入的数据流处理逻辑的描述输出的数处理逻辑辑名称据流频率编号 P1 输入考D1 其他部门汇总的由其他部门的负责人每个月按期输入S11 考勤1 次勤信息考勤信息企业所有职工的考勤信息表 / 月 P2 编制变S9 工资计算标准财务处根据其他部门的负责人输入的S1 变动1 次动工资表 ;s11 考勤表职工考勤等考勤信息,以及工资计算标工资表 / 月表准表中设置的金额计算出企业每个职工的加班费、病假扣款、事假扣款、旷工扣款等金额,并编制变动工资表。
【软件工程】工资管理系统在当今的企业管理中,工资管理是一项至关重要的任务。
一个高效、准确且易于操作的工资管理系统不仅能够提升企业的财务管理效率,还能增强员工对企业的信任和满意度。
接下来,让我们深入了解一下工资管理系统。
工资管理系统是一种专门用于处理企业员工工资相关事务的软件应用程序。
它的主要功能包括员工基本信息管理、工资计算与发放、工资条生成、税务处理、报表统计等。
首先,员工基本信息管理是工资管理系统的基础。
系统中需要存储员工的姓名、工号、部门、职位、入职时间、银行账号等关键信息。
这些信息的准确性直接影响到后续工资计算和发放的准确性。
例如,如果员工的银行账号信息错误,那么工资就无法正常发放到员工的账户中,这将给员工和企业带来不必要的麻烦。
工资计算是系统的核心功能之一。
它需要考虑多种因素,如员工的基本工资、绩效工资、加班工资、津贴补贴、扣税等。
对于不同的岗位和职级,工资计算的方式可能会有所不同。
例如,销售人员的工资可能会与销售业绩挂钩,生产工人的工资可能会与生产数量和质量相关。
系统需要能够根据预设的规则和算法,准确地计算出每个员工的应发工资和实发工资。
在工资发放环节,系统需要与银行等金融机构进行对接,实现工资的批量转账。
同时,系统还应该具备工资发放记录的功能,以便企业随时查询和核对工资发放的情况。
工资条生成是为了让员工清楚地了解自己的工资构成和扣除项目。
工资条通常包括员工的基本信息、各项工资收入和扣除项目的明细、应发工资、实发工资等内容。
工资条可以以纸质形式发放给员工,也可以通过电子邮件或企业内部系统发送给员工。
税务处理是工资管理中不可忽视的一部分。
系统需要根据国家税收政策,准确计算员工应缴纳的个人所得税,并在工资发放时进行代扣代缴。
同时,系统还应该能够生成相关的税务报表,以满足企业纳税申报的需要。
报表统计功能可以帮助企业管理层了解工资支出的总体情况。
通过报表,企业可以分析不同部门、不同岗位员工的工资水平,比较不同时期的工资变化趋势,为企业的人力资源决策提供数据支持。
广东省人事工资管理系统使用操作流程适用于统发机关单位(包括统发依公事业单位)第一步:安装系统 (具体可看光盘附带操作说明书)一.电脑硬件要求如下:电脑1台及以上,CPU奔腾4以上,内存512M以上,硬盘160G以上,DVD刻录光驱,移动硬盘或U盘,打印机1台。
二.安装软件要求如下:一台电脑只能安装一套2.0版工资管理系统。
不影响(旧)广工版工资管理决策支持系统的保留与使用。
操作系统WIN2000、WINXP,IE6.0,EXCEL2000。
安装IE6.0,主要是工资管理系统要运行在该环境中。
安装EXCEL主要是工资管理系统显示和打印报表,要调用EXCEL。
三.安装过程注意事项:1、操作系统建议使用WIN2000或WINXP操作系统,但不要使用WINXP home版。
2、建议安装前关闭防火墙。
第二步:导入旧数据库转换数据库要注意的事项1、转换旧版数据库至2.0版广东省人事工资管理系统。
可在安装工资管理软件的过程中,系统自动提示下进行旧数据的导入,如错过系统提示,也可在安装完成后点击“开始菜单”选中“广东省人事工资管理系统(下级版)”程序组。
2、点击里面的“导入旧版工资系统数据”程序详见下图3、点击程序系统会出现下图。
选择本单位的旧版数据库文件(此文件为一个Access数据库文件,文件后缀名为.mdb)4、点击,导库程序自动运行,见下图5、完成导入后系统会提示是否继续导入下一个单位的数据,如需继续导入按“确定”按钮重复第3点的操作。
如只有一个单位按“确定”按钮后,直接点击。
6、重新启动电脑后即可完成旧工资系统数据库导入新系统的操作。
7、转换数据库是为了减少录入信息的工作量,但不是百分百都准确转换。
因此,转换完成后,在新工资管理系统中,一定要对每一个人的信息都进行检查和修改,以保证信息的准确性。
注意:转换数据库完成后,新系统将自动生成“离退”,“其他”以及各单位在旧数据库中自定义的部门,单位已离退休人员自动默认放在“离退”部门内。
系统主要操作流程指南当您第一次进入本工资管理系统,开始对本单位的人员和工资信息进行录入操作和日常管理时,您可按照下列流程进行。
一、进入系统运行《财政工资统一发放系统(单位版)》,如同运行其它应用软件一样,非常简单:单击“开始”,打开“程序”组,选择“财政工资统一发放系统(单位版)”项,然后单击图标,即开始运行,进入系统的登录窗口。
二、创建套帐一个账套组成一个单位的人事、工资数据系统。
本系统支持多套账的管理,这意味着本系统可以管理多个单位的人事、工资数据。
如果单位需要建立新的套账就单击“建套账”按钮。
并且可以在“系统管理”中“建立单位铺帐”,“整理套帐”是对套帐进行管理,可以对主、辅套帐进行删除。
三、获取基础数据获取基础数据包括导入系统编码表、导入数据结构文件、导入财政对单位数据和导入单位对单位的数据。
导入由财政部门提供的系统编码表、数据结构文件和财政对单位数据。
为设置单位信息、部门信息、设置人员档案、工资变动等提供原始的数据字典。
注意:只有在读入数据结构文件后,系统才能开始正常工作。
此操作一般只进行一次,在系统数据结构没有变化时可不再进行。
但当系统被初始化或单位信息因误操作而被修改时除外。
导入单位对单位的数据的目的:单位向财政上报单位数据,财政部门对该单位上报的单位数据进行审核,当财政部门在对该单位数据审核过程中发现不合理的数据时,而这时,某些单位上报人员不方便返回本单位进行修改数据,这种情况下,该单位上报人员就可以在财政部门特设的客户机上,通过“导入单位对单位的数据”对单位数据进行修改,修改完毕后,直接再上报给财政部门。
导入系统编码表:系统编码表是本系统首次使用时所必须的基础编码数据.对应的文件名称:CODE.ARJ(编码表)。
导入数据结构文件:数据结构文件是本系统首次使用时所必须的基础数据结构.对应文件名称:DWJG_单位编码.ARJ(单位结构_单位编码)。
导入财政对单位数据:导入财政对单位数据是从财政系统导出给单位的基础数据.对应文件名称:DWSJ_单位编码.ARJ(单位数据_单位编码)。
职工工资管理系统c++程序设计报告职工工资管理系统是一种用于管理员工薪资的软件系统。
下面是一个使用C++编写的职工工资管理系统的程序设计报告。
## 设计与实现### 设计该系统的设计主要考虑到以下几个方面:1. 功能需求:设计一个能够记录职工的基本信息、薪资信息、请假信息、加班信息等的系统。
2. 数据库设计:设计一个可以存储数据的数据结构,包括表格和字段。
3. 界面设计:设计一个用户友好的界面,方便用户进行操作。
4. 安全性:设计一个安全性措施,保证数据的安全性和隐私性。
### 实现1. 数据库设计:使用MySQL数据库进行数据存储。
2. 界面设计:使用Qt Creator开发界面。
3. 程序实现:使用C++语言进行程序实现。
#### 功能实现1. 记录职工基本信息:包括职工ID、姓名、性别、出生日期、身份证号码、联系方式等。
2. 记录薪资信息:包括基本工资、基本工资+津贴、基本工资+补贴、奖金等。
3. 记录请假信息:包括请假日期、请假原因、请假时间等。
4. 记录加班信息:包括加班日期、加班时间、加班地点、加班原因等。
5. 记录职工基本信息与薪资信息的关联关系。
6. 记录加班信息与请假信息的关联关系。
7. 显示当前职工的工资信息、请假信息、加班信息等。
8. 允许用户对职工的工资信息、请假信息、加班信息等进行编辑和删除。
## 性能测试为了测试系统的性能和稳定性,我们使用了以下方法:1. 模拟大量数据的操作:在系统中添加大量数据,并对其进行各种操作。
2. 进行并发测试:在系统中添加并发用户,并对系统进行各种操作。
3. 进行压力测试:在系统中添加大量压力,并通过增加并发用户等方式对系统进行压力测试。
通过以上方法,我们测试了系统的性能和稳定性,并得到了以下结果:- 系统在高并发情况下能够稳定运行。
- 系统在低并发情况下也能够流畅运行。
- 系统在高压力情况下能够快速响应,并保持稳定运行。
- 系统在低压力情况下也能够流畅运行。
广东省人事工资管理系统使用操作流程适用于统发机关单位(包括统发依公事业单位)第一步:安装系统 (具体可看光盘附带操作说明书)一.电脑硬件要求如下:电脑1台及以上,CPU奔腾4以上,内存512M以上,硬盘160G以上,DVD刻录光驱,移动硬盘或U盘,打印机1台。
二.安装软件要求如下:一台电脑只能安装一套2。
0版工资管理系统。
不影响(旧)广工版工资管理决策支持系统的保留与使用。
操作系统WIN2000、WINXP,IE6.0,EXCEL2000。
安装IE6。
0,主要是工资管理系统要运行在该环境中。
安装EXCEL主要是工资管理系统显示和打印报表,要调用EXCEL.三.安装过程注意事项:1、操作系统建议使用WIN2000或WINXP操作系统,但不要使用WINXP home版。
2、建议安装前关闭防火墙。
第二步:导入旧数据库转换数据库要注意的事项1、转换旧版数据库至2.0版广东省人事工资管理系统。
可在安装工资管理软件的过程中,系统自动提示下进行旧数据的导入,如错过系统提示,也可在安装完成后点击“开始菜单”选中“广东省人事工资管理系统(下级版)”程序组。
2、点击里面的“导入旧版工资系统数据”程序详见下图3、点击程序系统会出现下图。
选择本单位的旧版数据库文件(此文件为一个Access数据库文件,文件后缀名为.mdb)4、点击,导库程序自动运行,见下图5、完成导入后系统会提示是否继续导入下一个单位的数据,如需继续导入按“确定"按钮重复第3点的操作。
如只有一个单位按“确定”按钮后,直接点击。
6、重新启动电脑后即可完成旧工资系统数据库导入新系统的操作。
7、转换数据库是为了减少录入信息的工作量,但不是百分百都准确转换。
因此,转换完成后,在新工资管理系统中,一定要对每一个人的信息都进行检查和修改,以保证信息的准确性。
注意:转换数据库完成后,新系统将自动生成“离退”,“其他”以及各单位在旧数据库中自定义的部门,单位已离退休人员自动默认放在“离退"部门内。
1.课程论文题目职工信息管理系统程序设计一、题目要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单的方式工作。
(2)职工信息录入功能(职工信息用文件保存)。
(3)职工浏览功能。
(4)职工信息查询功能,查询方式可按学历查询或者工号查询。
(5)职工信息的删除、修改功能(可选项)。
2.程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。
3.功能模块图5.算法设计1.主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。
2浏览模块【分析】该模块的功能是浏览职工的全部信息3排序模块4查询模块【分析】该模块的功能是根据输入的职工按照工号和学历查找对应的记录,找到以后,可进行继续查找或修改信息的操作。
流程图如下:5修改模块【分析】该模块的功能是显示所有职工的信息,考虑到记录较多,建议采用分屏显示。
显示完所有记录后,输入要修改的职工的工号,根据工号查到职工的记录,并提示用户修改该记录的哪部分信息,根据用户做的选择修改相应信息。
流程图如下:6.程序代码#include<stdio.h>#define N 50struct worker{char id[50];char name[20];char sex[10];char age[10];char edu[20];char salary[10];char address[20];char tel[20];}worker[N];void save(int n) //保存函数,保存n个记录{ FILE *fp;int i;if((fp=fopen("worker.txt","wb"))==NULL) //以只写方式为输出打开一个二进制文件{ printf("\nCannot open file\n");}for(i=0;i<n;i++)if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)printf("file write error\n");fclose(fp);}int load() //加载函数{ FILE *fp;int i;if((fp=fopen("worker.txt","rb"))==NULL){printf("\nCannot open file\n");return NULL;}for(i=0;!feof(fp);i++)fread(&worker[i],sizeof(struct worker),1,fp);fclose(fp);return(i-1);}void no_input(int i,int n) //工号输入函数,i表示第i个职工的信息,n 表示比较到第n个职工{ int j,k,w1;do{w1=0;printf("工号:");scanf("%s",worker[i].id);for(j=0;worker[i].id[j]!='\0';j++)if(worker[i].id[j]<'0'||worker[i].id[j]>'9') //判断工号是否为数字{puts("请重新输入!\n");w1=1;break;}if(w1!=1)for(k=0;k<n;k++) //比较到第N个职工if(k!=i&&strcmp(worker[k].id,worker[i].id)==0) //判断职工号是否有雷同{puts("请重新输入!\n");w1=1;break;}}while(w1==1);}void input(int i) //输入一个记录的函数{ no_input(i,i);printf("姓名:");scanf("%s",worker[i].name);printf("性别:");scanf(" %s",&worker[i].sex);printf("年龄:");scanf("%s",&worker[i].age);printf("工资:");scanf("%s",worker[i].salary);printf("学历:");scanf("%s",&worker[i].edu);printf("住址:");scanf("%s",worker[i].address);printf("电话:");scanf("%s",worker[i].tel);}void printf_one(int i) //显示一个记录的函数{printf("%10s %10s %5s %5s %8s %6s %10s %10s\n",worker[i].id,worker[i].name,worker[i].sex,worker[i].age,worker[i].salary,worker[i].edu,worker[i].address,worker[i].tel); }void printf_back() //一个任务结束后选择是好似浏览还是返回{ int k,w;printf("\n\n\tSuccessful^-^.\n\n");printf("接下来做什么?\n\n\t1).浏览全部\t2).返回: [ ]\b\b");scanf("%d",&w);if(w==1)browse();else menu();}modify_data(int i,int n) //修改函数{ int c,w1;do{puts("\nmodify by=>\n\n 1).工号 2).姓名 3).性别 4).年龄 5).工资6).学历 7).地址 8).电话 9).取消");printf("请选择?:[ ]\b\b");scanf("%d",&c);if(c>9||c<1){puts("\nChoice error!please again!");getchar();}}while(c>9||c<1);do{switch(c){case 1:no_input(i,n);break;case 2:printf("name:");scanf("%s",worker[i].name);break;case 3:printf("sex:");scanf("%s",worker[i].sex);break;case 4:printf("age:");scanf("%s",worker[i].age);break;case 5:printf("salary:");scanf("%s",worker[i].salary);break;case 6:printf("edu:");scanf("%s",worker[i].edu);break;case 7:printf("address:");scanf("%s",worker[i].address);break;case 8:printf("tel:");scanf("%s",worker[i].tel);break;case 9:menu();break;}puts("\nNow:\n");printf_face();printf_one(i);printf("\n确定?\n\n\t1).是2).否,重新修改3).不保存退出[ ]\b\b");scanf("%d",&w1);if(w1==1)save(n);}while(w1==2);return(w1);}printf_face() //显示数据结构项目{ printf("\n\t工号姓名性别年龄工资学历地址电话号码\n"); }void enter() //输入模块{ int i,n;printf("输入多少个职工信息(0-%d):",N-1);scanf("%d",&n);printf("\n 请输入职工信息\n\n");for(i=0;i<n;i++)input(i);if(i!=0)save(n);printf_back();}browse() //浏览模块{ int i,j,n;n=load();printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n按任意键显示下一页...");getch();puts("\n\n");}printf_one(i);}printf("\t这里有 %d 条记录.\n",n);printf("\n按任意键返回...");getch();menu();}modify() //修改模块{struct worker s;FILE *fp;int i,n,k,w0=1,w1,w2=0;n=load();do{k=-1;printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)) //目的是分屏显示{printf("\n\n记住要修改的工号.按任意键显示下一页");getch();puts("\n\n");}printf_one(i); //调用显示一个记录的函数}do{printf("\n\n输入要修改的职工工号! 工号:");scanf("%s",s.id); //输入要修改的IDfor(i=0;i<n;i++) //查找要修改的数据if(strcmp(s.id,worker[i].id)==0){k=i; //找到要修改的记录s=worker[i]; //把worker[i]备份,以便恢复}if(k==-1)printf("\n\n未找到请重输");}while(k==-1); //当k=-1表示没有找到printf_face(); //调用显示数据结构项目的函数printf_one(k); //调用显示一个记录的函数w1=modify_data(k,n); //修改记录并返回保存控制值w1,w1=1表示用户已确认修改if(w1==1){printf("\Successful^_^.\n\n修改另一个?\n\n\t1).是 2).否,保存退出\t[ ]\b\b");scanf("%d",&w0);w2=1; //用来控制保存,使w2=1是标记已有过修改}else{w0=0;if(w2==1)worker[k]=s;}if(w0!=1&&w2==1)save(n);}while(w0==1);menu();}search() //查询模块{ int c,w1;do{puts("\nsearch by=>\n\n1).工号 2}.学历 3).取消并返回"); printf("Which you needed?:[ ]\b\b");scanf("%d",&c);if(c>3||c<1){ puts("\nchoice error!please again!");getchar();}}while(c>3||c<1);{switch(c){case 1:search1();break;case 2:search2();break;case 3:menu();break;}}}search1() //按工号查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n输入要查询的工号! id:");scanf("%s",s.id);printf_face();for(i=0;i<n;i++)if(strcmp(s.id,worker[i].id)==0){k=i;printf_one(k);break;}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search1();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}search2() //按学历查询模块{int i,n,k,w1=1,w2,w3,w4;struct worker s;n=load();do{do{k=-1;printf("\n\n请输入你要查询的学历:\n");scanf("%s",);printf_face();for(i=0;i<n;i++)if(strcmp(,worker[i].edu)==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNo exit!please");printf("\n\n继续查找?\n\t1).是 2).否,返回 [ ]\b\b");scanf("%d",&w1);if(w1==2) menu();}}while(k==-1&&w1==1);w4=0;w3=0;if(k!=-1){printf("\n\n接下来干什么?\n\t1).查找另一个 2).修改 3).返回菜单[ ]\b\b");scanf("%d",&w2);switch(w2){case 1:search2();break;case 2:w3=modify_data(k,n);break;case 3:{menu();break;}}}}while(w2==1);menu();}menu(){int n,w1;do{puts("\t\t*******************菜单*******************\n\n");puts("\t\t\t\t1.录入职工信息");puts("\t\t\t\t2.浏览职工信息");puts("\t\t\t\t3.查询职工信息");puts("\t\t\t\t4.修改职工信息");puts("\t\t\t\t5.退出");puts("\t\t****************************************\n\n");printf("请选择(1~5): [ ]\b\b");scanf("%d",&n);if(n<1||n>5) //对选择的数字作判断{w1=1;getchar();}else w1=0;} while(w1==1);switch(n){case 1:enter();break; //录入 case 2:browse();break; //浏览 case 3:search();break; //查询 case 4:modify();break; //修改 case 5:exit(0); //退出}}main(){menu();}7.程序运行结果下面是各个模块的的界面截图(1)、主菜单(2)、输入模块(3)、浏览模块(3)、查找模块(4)、修改模块8.编程中遇到的困难及解决方法温故而知新,可以为师矣。
综合设计实验——职工工资信息管理专业:班级:学号:姓名:完成日期:2012/7/3一、实验目的:1、进一步熟悉开发环境,掌握编译、连接和调试的技巧;2、综合运用数组、指针、函数和文件,通过综合设计掌握数组、结构体、指针和函数之间的相互关系,掌握函数参数传递,理解“传值”、“传指针”和“传引用”3、熟悉具有复杂需求的大程序设计过程和注意事项二、实验内容:【题目描述】编写程序实现单位职工工资信息管理。
包含各种基本数据的录入、修改、删除、插入、查询、统计(应发工资=基本工资+职务工资+各种补助,实发工资=应发工资-水电费-公积金)【基本功能】:(1)添加功能:添加一个职工的基本信息,包括工资卡号、身份证号、姓名、基本工资、职务工资、各种补助、应发工资、水电费、公积金、实发工资等(2)删除功能:能够对一个职工的信息进行删除,例如按姓名进行删除(3)显示功能:显示所有职工的主要信息包括工资卡号、身份证号、姓名、基本工资、职务工资、各种补助、应发工资、水电费、公积金、实发工资等(4)查找功能:根据你键入的职工姓名,显示其详细信息(注:在main内显示查找到的职工信息!)(5)修改功能:根据你键入的职工姓名,对该职工工资信息进行修改。
(6)排序功能:对职工的信息按照实发工资进行排序(不得选用直接选择法,可以使用交换法、设标签的选择法、快速排序法等)。
【题目要求】(1) 按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序;(2) 职工工资信息应该包含:工资卡号、身份证号、姓名、基本工资、职务工资、各种补助、应发工资、水电费、公积金、实发工资等;(3) 为各项操作功能设计一个菜单(可选)。
应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
(4) 不使用C++的string类型来存放字符串(5) 函数接口参数设计允许使用C++引用类型(6) 建议使用动态堆内存分配,达到高效利用内存目的(本要求适合提高水平的同学,不做严格要求)【输入要求】应用程序运行后,在屏幕上显示一个菜单。
贵州省人事工资管理系统操作流程一、新参加工作人员工资确定第一步:业务处理操作流程公共信息子系统—>基础信息维护—>人员基础信息维护—>新增人员信息—>点击“保存”—>工资子系统—>基础信息维护—>人员基础信息维护—>学历学位信息子集—>点击“新增”—>录入学历信息—>点击“保存”—>工资子系统—>业务处理—>新参加工作人员工资确定—>选中相应的人员姓名—>点击向右的箭头按钮—>选中学历—>输入起薪变动时间—>点击“见习期工资确定”按钮—>点击“保存”;第二步:参加工作人员工资确定审核操作流程:工资业务审核—>新参加工作人员工资确定审核—>输入业务时间段—>下一步—>点击审核单位—>点击选择—>新参加工作人员打勾—>点击提取人员—>点击审核—>审核记录全通过后点击“保存”注意事项1、输入业务时间范围为:2006—07—01到2050—01—0l2、时间段为包含业务的起薪变动时间;3、审核未通过以黄块提示,如数据为正确数据即可将审核结果未通过改为通过;第三步:新参加工作人员工资确定报表打印操作流程:工资子系统—>报表管理—>报表打印—>个人表—>新参加工作人员—>新参加工作人员工资确定表—>点击“执行”按钮—>点击参数值栏下的省略号按钮选中相应人员姓名并对其打勾—>点击“确定”—>点击“确认”—>在批量列表中双击人员姓名—>点击“打印”—>点击“保存数据”按钮—>取报表名称系统自动按年取名也可重新取名—>点击“确定”保存;二、见习期人员转正定级第一步:业务处理操作流程工资子系统—>业务处理—>选中“职务工资变动”—>左边见习人员中选中相应的人员姓名—>点击向右的箭头按钮—>选中学历—>输入转正定级时间—>点击“转正定级”按钮—>在职务类型中选择相应类型公务员或事业人员—>检查职务层次和工资享受待遇职级正确后—>检查档案工资和津补贴数据正确后—>点击“保存”第二步:见习试用期人员转正定级审核操作流程:工资业务审核—>见习试用期人员转正定级审核—>输入业务时间段—>下一步—>点击选择审核单位—>点击选择—>转正定级人员打勾—>点击提取人员—>点击审核—>审核记录全通过后点击“保存”第三步:见习期人员转正定级工资报表打印操作流程:工资子系统—>报表管理—>报表打印—>个人表—>新参加工作人员—>参加工作人员转正定级工资审批表—>点击“执行”按钮—>点击参数值栏下的省略号按钮选中相应人员姓名并对其打勾—>点击“确定”—>点击“确认”—>在批量列表中双击人员姓名—>点击“打印”—>点击“保存数据”按钮—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;三、职务变动第一步:职务变动业务处理操作流程:工资子系统—>业务处理—>选中“职务工资变动”—>左边在职人员中选中相应的人员姓名—>点击向右的箭头按钮—>输入职务变动时间—>点击“升职”或“降职”按钮—>如是越级升职或降职检查职务层次和工资享受待遇职级正确后—>降职业务检查档案工资和津补贴数据正确后—>点击“保存”第二步:职务工资变动审核操作流程:工资业务审核—>职务工资变动审核—>输入业务时间段—>下一步—>点击选择审核单位—>点击“选择”—>职务变动人员打勾—>点击提取人员—>点击审核—>审核记录全通过后点击“保存”第三步:职务工资变动报表打印操作流程:工资子系统—>报表管理—>报表打印—>个人表—>贵州省机关、事业人员审批表—>贵州省机关、事业单位工作人员工资变动审批表—>点击“执行”按钮—>点击参数值栏下的省略号按钮选中相应人员姓名并对其打勾—>点击“确定”—>点击“确认”—>在批量列表中双击人员姓名—>点击“打印”—>点击“保存数据”按钮—>取报表名称系统自动按年取名也可重新取文件名一>点击“确定”保存;四、年度考核操作流程:工资子系统—>业务处理—>选中“年度考核”—>输入考核年度—>点击“下一步”—>左边在职人员中相应的人员姓名会自动加入到右边一>点击“下一步”—>参考人员的考核结果会自动显示出来系统默认为合格称职,输入职务变动时间—>点击“保存”注意事项1,考核结果系统默认为合格称职,如有不合格或优秀,双击该人员的考核结果栏选择相应的考核结果后,再保存;五、机关两年晋档第一步:机关两年晋档业务处理操作流程:工资子系统—>业务处理—>选中“机关两年晋档”—>在业务时间中输入机关两年晋档起薪时间—>点击“下一步”—>左边在职人员中相应的人员姓名会自动加入到右边—>点击“下一步”—>如数据正确点击“保存”第二步:机关两年晋档审核操作流程:工资业务审核—>机关两年晋档审核—>输入业务时间—>下一步—>点击选择审核单位—>点击“选择”—>对机关两年晋档人员打勾处理—>点击提取人员—>点击审核—>审核记录全通过后点击“保存”注意事项1、输入业务时间为机关两年晋档起薪变动,一般为两年晋档后的起薪年.如2006和2007年的两年晋档,起薪时间为2008年,输入的业务时间为2008;2、晋档人员为机关在职在岗人员;3、考核年度为连续或累积两年年度考核结果为合格及以上人员;4、审核未通过以黄块提示,如数据为正确数据即可将审核结果未通过改为通过;5、在数据导出时必须在“是否需要导出数据报表”前打勾,导出过程中会跳出“数据报表导出”对话框,在本年度要导出的报表前打勾例如:在2009年2月25日做的2008年的两年晋档,就在“2009年”前打勾;第三步:机关两年晋档报表打印操作流程:个人表工资子系统—>报表管理—>报表打印—>个人表—>机关工作人员审批表—>贵州省机关单位工作人员两年考核晋升档次工资审批表—>点击“执行”按钮—>点击参数值栏下的省略号按钮选中相应人员姓名并对其打勾—>点击“确定”—>点击“确认”—>在批量列表中双击人员姓名—>点击“打印”或“批量打印”—>点击“保存数据”或“批量保存”按钮—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存.汇总表工资子系统—>报表管理—>报表打印—>汇总表—>机关工作人员汇总表—>贵州省机关单位工作人员两年考核晋升档次工资汇总表—>点击“执行”按钮—>在参数值栏下输入晋档后的起薪年—>点击“确定”—>点击“打印”—>点击“保存数据”—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;名册表工资子系统—>报表管理—>报表打印—>名册表—>事业工作人员汇总表—>贵州省机关单位工作人员两年考核晋升档次工资审批花名册—>点击“执行”按钮—>在参数值栏下输入晋薪级后的起薪年—>点击“确定”—>点击“打印”—>点击“保存数据”—>取报表名称系统自动按年取名也可重新取文件名一>点击“确定”保存;六、机关五年晋级或滚动晋级第一步:机关五年晋级或滚动晋级业务处理操作流程:工资子系统—>业务处理—>选中“机关五年晋级或滚动晋级”一>在业务时间中输入机关五年晋级或滚动晋级起薪时间—>点击“下一步”—>左边在职人员中相应的人员姓名会自动加入到右边—>点击“下一步”—>如数据正确点击“保存”第二步:机关五年晋级审核操作流程:工资业务审核—>机关五年晋级审核—>输入业务时间—>下一步—>点击选择审核单位—>点击“选择”—>对机关五年晋级人员打勾处理—>点击提取人员—>点击审核—>审核记录全通过后点击“保存”注意事项1、输入业务时间为机关五年晋级或滚动晋级起薪变动时间,一般为机关五年晋级后的起薪年;如2007年的滚动晋级,起薪时间为2008年;输入的业务时间为2008;2、机关五年晋级或滚动晋级为机关在职在岗人员;3、考核年度为连续或累积五年年度考核结果为合格及以上人员;4、滚动晋级只对工改时按原低一任职务或现任职务工改的人员;按其他方式工改的人员不能享受滚动晋级5、审核未通过以黄块提示,如数据为正确数据即可将审核结果未通过改为通过;6、在数据导出时必须在“是否需要导出数据报表”前打勾,导出过程中会跳出“数据报表导出”对话框,在本年度要导出的报表前打勾例如:在2009年2月25日做的2008年的两年晋档,就在“2009年”前打勾;第三步:机关五年晋级或滚动晋级报表打印操作流程:个人表工资子系统—>报表管理—>报表打印—>个人表—>机关工作人员审批表—>贵州省机关单位工作人员五年考核晋升级别工资审批表—>点击“执行”按钮—>点击参数值栏下的省略号按钮选中相应人员姓名并对其打勾—>点击“确定”—>点击“确认”—>在批量列表中双击人员姓名—>点击“打印”或“批量打印”—>点击“保存数据”或“批量保存”按钮—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;汇总表工资子系统—>报表管理—>报表打印—>汇总表—>机关工作人员汇总表—>贵州省机关单位工作人员晋升级别工资增资汇总表—>点击“执行”按钮—>在参数值栏下输入晋级后的起薪年—>点击“确定”—>点击“打印”—>点击“保存数据”—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;名册表工资子系统—>报表管理—>报表打印—>名册表—>事业工作人员汇总表—>贵州省机关单位工作人员正常晋升级别工资审批花名册—>点击“执行”按钮—>在参数值栏下输入晋级后的起薪年—>点击“确定”—>点击“打印”—>点击“保存数据”—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;七、正常晋升薪级工资正常晋升薪级工资前必须先做年度考核;第一步:正常晋升薪级工资业务处理操作流程:工资子系统—>业务处理—>选中“正常晋升薪级工资”—>在业务时间中输入正常晋升薪级工资起薪时间—>点击“下一步”—>左边在职人员中相应的人员姓名会自动加入到右边—>点击“下一步”—>如数据正确点击“保存”第二步:正常晋升薪级工资审核操作流程:工资业务审核—>正常晋升薪级工资审核—>输入业务时间—>下一步—>点击选择审核单位—>点击“选择”—>对正常晋升薪级工资人员打勾处理—>点击提取人员—>点击审核—>审核记录全通过后点击“保存”注意事项1、输入业务时间为正常晋升薪级工资起薪变动时间,一般为正常晋升薪级工资后的起薪年;如2007年的正常晋升薪级,起薪时间为2008年,输入的业务时间为2008;2、正常晋升薪级工资为事业单位在职在岗人员;3、考核年度为上年年度考核结果为合格及以上人员4、审核未通过以黄块提示,如数据为正确数据即可将审核结果未通过改为通过;5、在数据导出时必须在“是否需要导出数据报表”前打勾,导出过程中会跳出“数据报表导出”对话框,在本年度要导出的报表前打勾例如:在2009年2月25日做的2008年的两年晋档,就在“2009年”前打勾;第三步:正常晋升薪级工资报表打印操作流程:个人表工资子系统—>报表管理—>报表打印—>个人表—>事业工作人员审批表—>贵州省事业单位工作人员正常晋升薪级工资审批表—>点击“执行”按钮—>点击参数值栏下的省略号按钮选中相应人员姓名并对其打勾—>点击“确定”—>点击“确认”—>在批量列表中双击人员姓名—>点击“打印”或“批量打印”—>点击“保存数据”或“批量保存”按钮—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;汇总表工资子系统—>报表管理—>报表打印—>汇总表—>事业工作人员汇总表—>贵州省事业单位工作人员正常晋升薪级工资增资汇总表—>点击“执行”按钮—>在参数值栏下输入晋薪级后的起薪年—>点击“确定”—>点击“打印”—>点击“保存数据”—>取报表名称系统自动按年取名也可重新取文件名一>点击“确定”保存;名册表工资子系统—>报表管理—>报表打印—>名册表—>事业工作人员汇总表—>贵州省事业单位工作人员正常晋升薪级工资花名册—>点击“执行”按钮—>在参数值栏下输入晋薪级后的起薪年—>点击“确定”—>点击“打印”—>点击“保存数据”—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;八、浮动工资转固定第一步:浮动工资转固定业务处理操作流程:工资子系统—>基础信息维护—>人员基础信息维护—>左边选中相应人员姓名—>选择“津补贴信息子集”—>新增—>输入一条变动时间为该人员起薪的时间,变动原因为“浮动”的津贴记录—>点击“保存”—>业务处理—>选中“浮动工资转固定”—>左边在职人员中选中相应的人员姓名—>点击向右的箭头按钮—>在人事信息栏中输入起薪变动时间—>点击“浮动转固定”按钮—>检查档案工资数据正确后—>点击“保存”第二步:浮动工资转固定审核操作流程:工资业务审核—>浮动转固定审核—>输入业务时间段—>下一步—>点击选择审核单位—>点击“选择”—>浮动转固定人员打勾—>点击提取人员—>点击审核—>审核记录全通过后点击“保存”注意事项1、输入业务时间段范围时,开始时间大于或等于2006—07—01,终止时间小于等于2050—01-012、所输的时间段要包含所业务记录的起薪变动时间;3、审核未通过以黄块提示,如数据为正确数据即可将审核结果未通过改为通过;第三步:浮动转固定报表打印操作流程:工资子系统—>报表管理—>报表打印—>个人表—>贵州省机关、事业工作人员审批表—>贵州省机关、事业单位工作人员浮动转固定工资审批表—>点击“执行”按钮—>点击参数值栏下的省略号按钮选中相应人员姓名并对其打勾—>点击“确定”—>点击“确认”—>在批量列表中双击人员姓名—>点击“打印”一>点击“保存数据”按钮—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;名册表工资予系统—>报表管理—>报表打印—>名册表—>贵州机关、事业工作人员汇总表—>贵州省机关、事业单位工作人员浮动及浮动转固定工资审批花名册—>点击“执行”按钮—>在参数值栏下输入业务时间段—>点击“确定”—>点击“打印”—>点击“保存数据”—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;警衔津贴维护操作流程、津贴批量维护操作流程跟职务工资变动操作流程类似;此处不细解;九、年终一次性奖金第一步:年终一性奖金业务处理操作流程:工资子系统—>业务处理—>选中“年终一次性奖金”—>在发放年度中输入奖金发放年—>在发放方式中选取相应的发放方式后—>点击“下一步”—>左边在职人员中相应的人员姓名会自动加入到右边—>点击“下一步”—>如数据正确点击“保存”第二步:年终一次性奖金审核操作流程:工资业务审核—>年终一性奖金审核—>输入业务时间—>下一步—>点击选择审核单位—>点击“选择”—>对发放年终一次性奖金人员打勾处理—>点击提取人员—>点击审核—>审核记录全通过后点击“保存”注意事项1、在操作年份输入时候,年份不能为空,.且只能输入数字,长度不能超过四位,系统规定的年份为2006—2050;2、面上蓝色单元格可修改,灰色单元格不可修改;3、输入的奖金发放年份必须有人员参加考核的信息,如果没有人员考核信息,则不能发放奖金;4、在业务年度年终之前必须要有一条在岗情况的人事信息变动记录;5、进行发放的人员必须要有发放工资当月的工资情况记录,即在职人员是当年十二月,离退休和死亡人员,即在发放工资当月要有工资发放记录,如果没有,则在该时间之前最少得有一条基本工资数据;6、对于考核情况,如果是党管干部和三种病人,其考核结果应为不参加考核或考核不定档次,对应工资调整的考核结果应该为称职;7、对于新参加工作人员,如果当年年终一次性奖金是全额发放,则考核结果应为称职;如果只发放一半,则考核结果应为不参加考核或考核不定档次;第三步:年终一次性奖金报表打印操作流程:汇总表工资子系统—>报表管理—>报表打印—>汇总表—>机关工作人员汇总表—>贵州省机关工作人员机关工勤人员年终一次性奖金审批汇总表—>点击“执行”按钮—>在参数值栏下输入发放年—>点击“确定”—>点击“打印”—>点击“保存数据”—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;名册表工资子系统—>报表管理—>报表打印—>名册表—>事业工作人员汇总表—>贵州省机关工作人员机关工勤人员年终一次性奖金审批花名册—>点击“执行”按钮—>在参数值栏下输入发放年—>点击“确定”—>点击“打印”—>点击“保存数据”—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存.十、遗属困难补助第一步:业务处理操作流程公共信息子系统—>基础信息维护—>人员基础信息维护—>新增人员信息—>点击“保存”—>工资子系统—>基础信息维护—>人员基础信息维护—>社会关系信息子集—>点击“新增”—>录入领遗属补帐贴人员信息—>点击“保存”第二步:遗属困难补助报表打印操作流程:工资子系统—>报表管理—>报表打印—>个人表—>贵州省机关、事业工作人员审批表—>贵州省机关、事业单位工作人员遗属困难补助审批表—>点击“执行”按钮—>点击参数值栏下的省略号按钮选中相应人员姓名并对其打勾—>点击“确定”—>点击“确认”—>在批量列表中双击人员姓名—>点击“打印”或“批量打印”—>点击“保存数据”按钮—>取报表名称系统自动按年取名也可重新取文件名—>点击“确定”保存;十一、人员的调入、调出第一步:人员的调入、调出业务处理操作流程:人员的调入操作流程:工资子系统—>人员的调入—>点击“载入文件”—>选中调入文件的存放路径—>点击“打开”—>对调入人员进行打勾—>选择调入类型和调入部门—>输入调出时间—>点击“调入”;人员的调出工资子系统—>人员的调出—>选中相应的调出人员姓名一>左边在职人员中选中相应的人员姓名—>点击向右的箭头按钮—>输入调出时间—>点击“调出”—>选择调出文件的存放路径—>点击“保存”十二、数据库备份:1、直接复制人事数据库“贵州省人事工资管理系统”文件夹内的“data”文件夹;2、按单位数据导出的数据文件;十三、数据导出方法:第一种按人员数据导出操作流程:工资予系统—>数据导出—>选中“按人员数据导出”—>在选择人员导出中选中相应的人员姓名—>点击向右的箭头按钮—>点击选择文件存放位置下的省略号按钮选择导出文件的存放路径—>点击“开始执行导出”;第二种导出方式按单位数据导出操作流程建议使用本方法导出数据工资子系统—>数据导出—>选中“按单位数据导出”—>在选择导出单位中选中单位名称—>单击向右的箭头按钮—>对是否需要导出数据报表进行打勾处理—>点击选择文件存放位置下的省略号按钮选择导出文件的存放路径—>点击“开始执行导出”第三种数据导出方式:按业务数据导出操修流程工资子系统—>数据导出—>选中“按业务数据导出”—>在选择单位中选择相应的单位名称—>点击向右的箭头按钮把要导出的单位添加到被选择单位列表中—>在选择业务类型中对相应的业务进行打勾处理—>对是否需要导出数据报表这行打勾处理—>点击选择文件存放位置下的省略号按钮选择导出文件的存放路径—>点击“导出”按钮;注意事项1、在对业务类型进行打勾处理的,不管上报什么业务,人事信息都要进行打勾;。
《JA V A程序设计》课程设计报告设计题目:职工工资管理系统设计与实现学院名称:专业班级:姓名:学号:目录一需求分析。
.。
..。
....。
.。
.。
.。
.。
.。
.。
..。
.。
.。
3二概要设计。
.。
.。
.。
.。
.。
...。
.。
...。
.。
.。
.。
3三详细设计..。
.。
....。
.。
.。
..。
.。
...。
.。
..。
.。
.。
.。
.5 3。
1 数据库设计。
.。
.。
..。
.。
.。
.。
.。
.。
33.2 模块及窗体设计。
.。
.。
.。
..。
.。
.。
.。
.。
.。
..。
33。
2。
1 数据库模块设计。
.。
.。
.。
..。
.。
53.2.2 用户登录识别模块。
..。
.。
.。
..。
.。
..。
.。
..。
63.2。
3管理员模块..。
.。
..。
..。
.。
.。
.。
..。
..。
8职工基本信息管理。
..。
.。
.。
..。
.。
.。
.。
.。
.。
. 9职工工资管理。
.。
.。
.。
.。
.。
..。
20 3。
2。
4 普通用户模块。
..。
.。
...。
.。
.。
.。
.。
.。
28 职工信息.。
.。
.。
.。
...。
.。
.。
.。
.。
28 3。
2。
5 系统管理模块。
.。
.。
.。
.。
.。
.。
.。
.。
.。
.。
153。
2。
5 主窗体菜单设计.。
.。
..。
.。
..。
.。
.。
..。
15四软件测试。
.。
.。
..。
.。
.。
.。
.。
.。
.。
...。
.36五总结。
.。
.。
.。
.。
...。
.。
.。
..。
.。
..。
36参考资料:....................................................。
.。
....17一需求分析本系统的主要目的就是实现职工工资管理系统设计与实现,使职工工资管理工作更加容易,高效地管理企业职工工资,从而提高工作效率,降低管理成本。
二概要设计/************************************************************************概要设计阶段主要是粗略描述整个软件的框架,并从业务的角度描述软件的模块、工作流程等。
第三章工资管理系统工资管理系统的操作流程1.首先注册,进入工资管理系统。
如果是第一次使用,需要进行基础数据设置(女跡扣零设置、扣税设置等)和选项设置。
2.如果是多类别情况,需要进行工资类别的设置:如使用计件工资,需要进行计件资方案的设置。
3.进行工资项目和计算公式的设置,并录入基本数据.4.日常工作,主要是对本月变动项进行更改。
5.月末处理所得税的扣除工作.如果是银行代发工资,则将数据按银行指定的格式输出并报送到银行;如果是现金发放,可以查询并打印分钱清单。
,,6.进行工资分摊,生成凭证,并传递到总账管理系统.7.进行月末处理。
1.在系统管理中启用工资管理系统①执行“开开始”1“程序”I“用友T3系列管理软件”I“用友T3”|“系统管理”命令,以账套主管身份注册系统管理。
②执行“账套”I“启用”命令,打开“系统启用”对话框,选中“W A工资管理”复选框,弹出“日历”对话框,选择工资系统启用日期为“2009年1月1日",单击【确定】按钮,系统弹出“确实要启用当前系统吗?"信息提示框,单击【是】按钮返回。
2.建立工资账套①以账套主管身份注册进入用友T3主界面。
单击“工资”菜单项,打开“建立工资套"对话框.②在“参数设置”中,选择本账套所需处理的工资类别个数“多个”,默认币别名称为“人民币RMB”,如图6—1所示,单击【下一步】按钮.注意‘‘父例中对正式人员和临时人员分别进行核算,所以工资类别应选择“多个”.③在“扣税设置”中,选中“是否从工资中代扣个人所得税”复选框,如图6—2所示,单击【下一步】按钮。
注意选择代扣个人所得税后,系统将自动生成工资项目“代扣税”并自动进行代扣税金的计④在“扣零设置”中,不做选择,直接单击【下一步】按钮。
注意扣零处理是指每次发放工资时将零头扣下,积累取整,于下次工资发放时补上,系统在计算工资时将依据扣零类型(扣零至元、扣零至角、扣零至分)进行扣零计算。
员工薪资管理系统课程设计学院:班级:学号:姓名:余黎晨李雪敏敬翰林颜学宏指导教师:李竹林目录一:绪论1.1设计目的1.2设计内容1.3开发背景1.4开发环境1.5组内成员及分工二:需求分析2.1题目分析2.2功能分析2.3数据流图2.4数据字典2.5系统功能三:系统分析与设计3.1概念结构设计3.2逻辑结构设计3.3 物理结构设计四:数据库实施及运行4.1建基本表4.3功能实现4.4完整代码五:设计心得及体会一:绪论1.1设计目的员工薪资系统的主要目的是通过操作计算机代替手工劳动,能够在该系统内完成员工的信息录入,查询,删除等操作,方便公司的高效化,规范化管理,有利于员工更好更方便了解自己的薪资信息。
系统开发的总体任务就是实现员工薪资管理的系统化、规范化和自动化。
1.2设计内容题目6:员工薪资管理1)背景资料a)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。
b)该单位下设4个科室,即经理室、财务科、技术科和销售科。
c)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。
d)每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。
e)每月个人的最高工资不超过3000元。
工资按月发放,实际发放的工资金额为工资减去扣除。
2)设计要求:a)进行需求分析,编写数据字典。
b)设计E-R图。
c)实现按照科室录入个人的基本资料、工资和扣除金额的数据。
d)计算个人的实际发放工资。
e)按科室、职业分类统计人数和工资金额。
f)实现分类查询。
g)能够删除辞职人员的数据。
h)开发工具不限。
1.3开发背景当今社会,随着企业人数的不断增加,企业员工薪资的管理工作也越来越复杂,资金是企业生存的核心部分,而资金流动也是关键环节,随着计算机的普及,计算机管理系统已经原来越来越广泛的应用于各个中小型企业中,用计算机取代手工对企业管理的操作也是势在必行的,并且人为操作容易造成信息错误,纸质材料不易保存,可能会导致企业运转出现滞缓现象,影响企业发展。
山西省机关事业单位工资管理系统用户操作手册山西易联众信息技术有限公司目录1.前言 (4)2.运行环境 (4)2.1软件环境 (4)2.2硬件环境 (7)2.3设置说明 (7)2.4登录说明 (8)3.操作说明 (11)3.1人员管理 (11)3.1.1人员新增 (11)3.1.2人员减少 (14)3.1.3人员调转 (15)3.1.4调标处理 (17)3.1.5部门调整 (18)3.1.6人员信息修改 (19)3.1.7序号管理 (20)3.1.8 人员退休/退职 (21)3.1.9人员工资子集管理 (26)3.1.10调整审批部门 (29)3.1.11年度考核 (30)3.2工资调整(日常业务) (32)3.2.1 警衔调整 (32)3.2.2 正常晋升 (34)3.2.3 工资变动 (36)3.2.4 新增人员工资确定 (40)3.3 工资标准调标 (42)3.4 机构管理 (45)3.5绩效工资 (46)3.6 办公管理 (47)3.7 统计查询 (48)3.7.1 人员工资查询 (48)3.7.2 公务员 (50)3.7.3 机关工人 (50)3.7.4 事业工人 (51)3.7.5 事业管理人员 (51)3.7.6 事业专业技术人员 (52)3.7.7 退休人员 (52)3.7.8 试用期人员 (53)3.7.9 运动员 (53)3.8数据上传 (54)3.8.1 数据上传 (54)3.8.2数据删除 (56)3.9 审核审批 (57)1.前言本用户使用手册是基于省集中的山西省机关事业单位工资管理系统,主要介绍了系统各功能模块的使用操作过程。
主要针对系统经办人员和审核人员,阅读本手册应能掌握该系统的使用方法。
对本系统各模块进行应用,应遵循本文档进行操作。
2.运行环境2.1软件环境为保证您顺利使用本系统,推荐使用WindowsXP(包括)以上版本操作系统,Internet Explorer 8版本的浏览器。
职工工资管理信息系统设计与实现学院:经济与管理学院班级:09信管姓名:王友兴学号:090403010043目录1 引言 (2)1.1问题的提出 (3)1.2任务与分析 (3)2设计方案 (4)2.1程序功能设计 (4)2.1.1程序功能描述 (4)2.1.2程序结构分析 (4)2.1.3 数据表结构分析 (5)2.1.4程序流程分析 (7)2.2程序界面和代码设计 (7)2.2.1项目设计框架 (7)2.2.2主要表单及代码设计 (9)3 结果分析 (20)结论 (25)致谢 (26)参考文献 (27)1 引言1.1 问题的提出为适合现代企业的需要,职工工资管理已经成为企业管理的一个难题,由于其费时和繁琐性,企业迫切需要一种专门为职工工资管理而服务的工具。
为此,简单的职工工资管理系统为此而制造出来。
本简单程序是为职工工资管理而设计的,内容简单,使用方便。
程序稍加变更可以适合对资源分配方面的杂事加以处理。
作为当代大学生,熟练的操作计算机是一种必备的素质。
本次设计会让我们更加熟悉VF编程,把以前学过的一些东西又重新复习了一遍,并与实际结合起来,对我们能力的提升有了很大的帮助,还能促使我们在以后的实际应用中更好的应用VF编程来设计一些数据库管理系统。
1.2 任务与分析分析你的设计任务,有什么难点?怎么解决?完成的步骤!职工工资管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点.本系统主要完成对学生选课信息的管理,包括数据库中表的添加、删除等。
系统可以完成对各类信息的浏览、修改、查询和工资信息对工资进行计算的功能。
系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。
查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。
山西省机关事业单位工资管理系统用户操作手册山西易联众信息技术有限公司目录1.前言 (4)2.运行环境 (4)2.1软件环境 (4)2.2硬件环境 (7)2.3设置说明 (7)2.4登录说明 (8)3.操作说明 (11)3.1人员管理 (11)3.1.1人员新增 (11)3.1.2人员减少 (14)3.1.3人员调转 (15)3.1.4调标处理 (17)3.1.5部门调整 (18)3.1.6人员信息修改 (19)3.1.7序号管理 (20)3.1.8 人员退休/退职 (21)3.1.9人员工资子集管理 (26)3.1.10调整审批部门 (29)3.1.11年度考核 (30)3.2工资调整(日常业务) (32)3.2.1 警衔调整 (32)3.2.2 正常晋升 (34)3.2.3 工资变动 (36)3.2.4 新增人员工资确定 (40)3.3 工资标准调标 (42)3.4 机构管理 (45)3.5绩效工资 (46)3.6 办公管理 (47)3.7 统计查询 (48)3.7.1 人员工资查询 (48)3.7.2 公务员 (50)3.7.3 机关工人 (50)3.7.4 事业工人 (51)3.7.5 事业管理人员 (51)3.7.6 事业专业技术人员 (52)3.7.7 退休人员 (52)3.7.8 试用期人员 (53)3.7.9 运动员 (53)3.8数据上传 (54)3.8.1 数据上传 (54)3.8.2数据删除 (56)3.9 审核审批 (57)1.前言本用户使用手册是基于省集中的山西省机关事业单位工资管理系统,主要介绍了系统各功能模块的使用操作过程。
主要针对系统经办人员和审核人员,阅读本手册应能掌握该系统的使用方法。
对本系统各模块进行应用,应遵循本文档进行操作。
2.运行环境2.1软件环境为保证您顺利使用本系统,推荐使用WindowsXP(包括)以上版本操作系统,Internet Explorer 8版本的浏览器。
编写一个职工工资管理系统程序,该程序输入职工工号和应发工资,由系统对其完成的实发工资实现计算。
其中职工信息包括职工号、姓名、性别、应发工资、税金、实发工资等(职工号不重复)。
功能要求及说明:
系统以菜单方式工作
职工基本信息和应发工资的录入功能(用文件保存)
从键盘输入数据,建立磁盘数据文件
职工工资信息浏览功能:
从磁盘数据文件读取所有职工工资信息并显示输出到屏幕上;
计算应发工资和查询的功能:
计算公式为:税金=应发工资*税率;
实发工资=应发工资-税金;
应发工资税率
<1000 0
1000~4999 5%
5000以上 10%
其中
源代码:
#include <iostream>
et() ;
ut() ;
cout << endl ;
}
break ;
case 3:
{
int p=0 ;
for(int i=0;i<80;i++)
cout << "#" ;
cout << setw(20) << "查询应发工资\n" ;
for(int j=0;j<80;j++)
cout << "#" ;
int number ;
cout << "\n输入你要查询的职工号:" ;
cin >> number ;
for (int m=0;m<Count;m++)
if( person[m].check(number,2) )
{
cout << "\n找到了!\n" ;
person[m].put () ;
p=1 ;
break;
}
if(p==0)
cout << "\n没有这个工号!\n" ; }
break ;
default:
cout << "\n输入错误!" ;
}
cout << "\n是否继续察看主菜单?(y or n):" ;
cin >> choose2 ;
}while(choose2=='y') ;
for (int i=0;i<=Count;i++)
person[i].put_txt ( out ) ;
closing ( in , out ) ;
return 0 ;
}
void opening ( ifstream& ins , ofstream& outs ) {
("c:\\tc\\tc\\s a l a r " ) ;
if ())
{
cout << "wo can not open !" ;
exit (1);
}
("c:\\tc\\tc\\s a l a r " ) ;
if ())
{
cout << "wo con not opening s a l a r !" ;
exit (1);
}
}
void closing ( ifstream& ins , ofstream& outs ) {
();
();
}
int show_menu ()
{
int word ;
for(int i=0;i<80;i++)
cout << "#" ;
cout << "1. 职工基本信息和应发工资的录入; \n" ; cout << "2.职工工资信息浏览; \n" ;
cout << "3.查询应发工资; \n" ;
for(int j=0;j<80;j++)
cout << "#" ;
cout << "请你输入选择的项目的代码(1,2...) :" ;
cin >> word ;
return word ;
}
void Person::change_pay()
{
if(pay<1000)
{
pay_out = 0 ;
pay_true = pay ;
}
if( (pay<4999) && (pay>=1000) ) {
pay_out = pay* ;
pay_true = pay - pay_out ; }
if(pay>=5000)
{
pay_out = pay* ;
pay_true = pay - pay_out ; }
}
void Person::come(ifstream& in) {
char b ;
(b) ;
if(b==':')
in >> number ;
a[Count]=number ;
do
{
(b) ;
}while(b!=':') ;
if(b==':')
in >> name ;
do
{
(b) ;
}while(b!=':') ;
in >> pay ;
do
{
(b) ;
}while(b!=':') ;
in >> pay_out ;
do
{
(b) ;
}while(b!=':') ;
in >> pay_true;
}
void Person::get()
{
do
{
cout << "\n职工号:" ;
cin >> number ;
a[Count]=number ;
if( check(number,1) )
break ;
cout << "\n职工号有重复,请重新输入!" ; }while(1);
cout << "\n姓名:" ;
cin >> name;
cout << "\n应发工资:" ;
cin >> pay ;
}
void Person::put()
{
change_pay() ;
for(int i=0;i<80;i++)
cout << "#" ;
cout << "\n职工号:" << number
<< "\n姓名:" << name
<< "\n应发工资:" << pay
<< "\n税金:" << pay_out
<< "\n实发工资:" << pay_true ; cout << endl ;
}
void Person::put_txt( ofstream& out ) {
for(int i=0;i<80;i++)
cout << "#" ;
out << "\n职工号:" << number
<< "\n姓名:" << name
<< "\n应发工资:" << pay
<< "\n税金:" << pay_out
<< "\n实发工资:" << pay_true ; }
bool Person::check( int b , int choose) {
switch(choose)
{
case 1:
{
for(int i=0;i<Count;i++)
if(b == a[i])
return (b!=a[i]) ;
return 1 ;
}
case 2:
return (b==number) ; default:
cout << "\n系统错误!" ;
exit(1) ;
}
}。