小型公司工资管理系统

合集下载

【软件工程】工资管理系统

【软件工程】工资管理系统

【软件工程】工资管理系统在当今的企业管理中,工资管理是一项至关重要的任务。

一个高效、准确且易于操作的工资管理系统不仅能够提升企业的财务管理效率,还能增强员工对企业的信任和满意度。

接下来,让我们深入了解一下工资管理系统。

工资管理系统是一种专门用于处理企业员工工资相关事务的软件应用程序。

它的主要功能包括员工基本信息管理、工资计算与发放、工资条生成、税务处理、报表统计等。

首先,员工基本信息管理是工资管理系统的基础。

系统中需要存储员工的姓名、工号、部门、职位、入职时间、银行账号等关键信息。

这些信息的准确性直接影响到后续工资计算和发放的准确性。

例如,如果员工的银行账号信息错误,那么工资就无法正常发放到员工的账户中,这将给员工和企业带来不必要的麻烦。

工资计算是系统的核心功能之一。

它需要考虑多种因素,如员工的基本工资、绩效工资、加班工资、津贴补贴、扣税等。

对于不同的岗位和职级,工资计算的方式可能会有所不同。

例如,销售人员的工资可能会与销售业绩挂钩,生产工人的工资可能会与生产数量和质量相关。

系统需要能够根据预设的规则和算法,准确地计算出每个员工的应发工资和实发工资。

在工资发放环节,系统需要与银行等金融机构进行对接,实现工资的批量转账。

同时,系统还应该具备工资发放记录的功能,以便企业随时查询和核对工资发放的情况。

工资条生成是为了让员工清楚地了解自己的工资构成和扣除项目。

工资条通常包括员工的基本信息、各项工资收入和扣除项目的明细、应发工资、实发工资等内容。

工资条可以以纸质形式发放给员工,也可以通过电子邮件或企业内部系统发送给员工。

税务处理是工资管理中不可忽视的一部分。

系统需要根据国家税收政策,准确计算员工应缴纳的个人所得税,并在工资发放时进行代扣代缴。

同时,系统还应该能够生成相关的税务报表,以满足企业纳税申报的需要。

报表统计功能可以帮助企业管理层了解工资支出的总体情况。

通过报表,企业可以分析不同部门、不同岗位员工的工资水平,比较不同时期的工资变化趋势,为企业的人力资源决策提供数据支持。

用C++编程——小型公司工资管理系统

用C++编程——小型公司工资管理系统

#include <iostream>#include <string>#include <iomanip>#include <fstream>using namespace std;const int n=2;class Employee{protected:int num;string name;int age;char sex;double salary;public:Employee(int n=0,int a=0,double sa=0){num=n;age=a;salary=sa;} virtual void input();virtual void print(){};virtual void txtout(){} ;int funnum(){return num;}string funname(){return name;}};void Employee::input(){cout<<"编号:";cin>>num;cout<<"其姓名:";cin>>name;cout<<"性别(w/m):";cin>>sex;cout<<"年龄:";cin>>age;}class Technician:public Employee{protected:int hours;int hourlypay;public:Technician(int hp=100){hourlypay=hp;}virtual void input();virtual double pay(){return (salary=hours*hourlypay);}virtual void print();virtual void txtout();};void Technician::input()cout<<"技术员的";Employee::input();cout<<"工作时间:";cin>>hours;}class Manager:public Employee{public:Manager(double sa=8000){salary=sa;}virtual void input();virtual void print();virtual void txtout();};void Manager::input(){cout<<"经理的";Employee::input();}class Salesman:public Employee{protected:double commrate;//提成int Smnum;//所属经理的编号double sales;//销售额public:Salesman(double com=0.04){commrate=com;}virtual void input();virtual double pay(){return (salary=sales*commrate);} virtual void print();virtual void txtout();int funnum1(){return Smnum;}double funsales(){return sales;}};void Salesman::input(){cout<<"销售员的";Employee::input();cout<<"销售额:";cin>>sales;cout<<"所属销售经理的编号:";cin>>Smnum;class Salesmanager:public Employee{protected:double basepay,sumsales,commrate;//底薪,销售总额,提成public:Salesmanager(double base=5000,double com=0.005){basepay=base;commrate=com;}virtual void input();virtual void print();virtual void print1();virtual void pay();virtual void shujutongji();virtual void txtout();};Technician tec[n];Manager man[n];Salesman sal[2*n];Salesmanager sma[n];//定义全局变量void Salesmanager::input(){cout<<"销售经理的";Employee::input();}void Salesmanager::pay(){for(int i=0;i<n;i++){sma[i].sumsales=0;for(int j=0;j<2*n;j++){if(sal[j].funnum1()==sma[j].num)sma[j].sumsales=sma[j].sumsales+sal[j].funsales();}sma[i].salary=basepay+sma[i].sumsales*commrate;}}void Salesmanager::print(){for(int i=0;i<n;i++){sma[i].sumsales=0;cout<<"职工编号为"<<sma[i].num<<"销售经理"<<sma[i].name<<"下属销售员的业绩为:"<<endl;cout<<"┌─────┬─────┬─────┐"<<endl;cout<<"│ 职工号│ 姓名│ 销售额│"<<endl;for(int j=0;j<2*n;j++)if(sal[j].funnum1()==sma[i].num){sma[i].sumsales=sma[i].sumsales+sal[j].funsales();cout<<"├─────┼─────┼─────┤"<<endl;cout<<"│"<<setw(10)<<sal[j].funnum()<<"│"<<setw(10)<<sal[j ].funname()<<"│"<<setw(10)<<sal[j].funsales()<<"│"<<endl;}cout<<"├─────┼─────┴─────┤"<<endl;cout<<"│销售额总计│"<<setw(22)<<sma[i].sumsales<<"│"<<endl;cout<<"└─────┴───────────┘"<<endl;}}void Salesmanager::shujutongji(){for(int i=0;i<n;i++){sma[i].sumsales=0;for(int j=0;j<2*n;j++){if(sal[j].funnum1()==sma[i].num)sma[i].sumsales+=sal[j].funsales();}sma[i].salary=basepay+sma[i].sumsales*commrate;}for(int k=0;k<n-1;k++)for(int m=k+1;m<n;m++)if(sma[k].salary<sma[m].salary){Salesmanager sma1;sma1=sma[k];sma[k]=sma[m];sma[m]=sma1;}cout<<"销售经理按工资排序为:"<<endl;cout<<"┌────┬────┬────┬────┬────┐"<< endl;cout<<"│职工号│姓名│性别│年龄│工资│"<<endl;for(int e=0;e<n;e++){<<endl;cout<<"│"<<setw(8)<<sma[e].num<<"│"<<setw(8)<<sma[e].name< <"│"<<setw(8)<<sma[e].sex<<"│"<<setw(8)<<sma[e].age<<"│"<<setw(8)<<sm a[e].salary<<"│"<<endl;}cout<<"└────┴────┴────┴────┴────┘"<< endl;}void Technician::print(){cout<<"┌────┬────┬────┬────┬────┐"<<endl; cout<<"│ 职工号│ 姓名│ 性别│ 年龄│ 工资│"<<endl;for(int i=0;i<n;i++){cout<<"├────┼────┼────┼────┼────┤"<<en dl;cout<<"│"<<setw(8)<<tec[i].num<<"│"<<setw(8)<<tec[i].name<<"│"<<setw(8)<<tec[i].sex<<"│"<<setw(8)<<tec[i].age<<"│"<<setw(8)<<tec[i] .pay()<<"│"<<endl;}cout<<"└────┴────┴────┴────┴────┘"<<endl; }void Manager::print(){cout<<"┌────┬────┬────┬────┬────┐"<<endl; cout<<"│ 职工号│ 姓名│ 性别│ 年龄│ 工资│"<<endl;for(int i=0;i<n;i++){cout<<"├────┼────┼────┼────┼────┤"<<en dl;cout<<"│"<<setw(8)<<man[i].num<<"│"<<setw(8)<<man[i].name<<"│"<<setw(8)<<man[i].sex<<"│"<<setw(8)<<man[i].age<<"│"<<setw(8)<<man[i] .salary<<"│"<<endl;}cout<<"└────┴────┴────┴────┴────┘"<<endl; }void Salesman::print(){────┐"<<endl;cout<<"│ 职工号│ 姓名│ 性别│ 年龄│ 工资│ 所属部门经理编号│"<<endl;for(int i=0;i<2*n;i++){cout<<"├────┼────┼────┼────┼────┼─────────┤"<<endl;cout<<"│"<<setw(8)<<sal[i].num<<"│"<<setw(8)<<sal[i].name<<"│"<<setw(8)<<sal[i].sex<<"│"<<setw(8)<<sal[i].age<<"│"<<setw(8)<<sal[i] .pay()<<"│"<<setw(18)<<sal[i].funnum1()<<"│"<<endl;}cout<<"└────┴────┴────┴────┴────┴─────────┘"<<endl;}void Salesmanager::print1()//{cout<<"┌────┬────┬────┬────┬────┐"<<endl; cout<<"│ 职工号│ 姓名│ 性别│ 年龄│ 工资│"<<endl;for(int i=0;i<n;i++){cout<<"├────┼────┼────┼────┼────┤"<<en dl;cout<<"│"<<setw(8)<<sma[i].num<<"│"<<setw(8)<<sma[i].name<<"│"<<setw(8)<<sma[i].sex<<"│"<<setw(8)<<sma[i].age<<"│"<<setw(8)<<sma[i] .salary<<"│"<<endl;}cout<<"└────┴────┴────┴────┴────┘"<<endl; }void Technician::txtout()//技术员数据备份{ofstream outfile("d:\output.txt",ios::app);if(!outfile){cout<<"备份失败!"<<endl;}outfile<<"************* 公司职员信息备份 ****************"<<endl; outfile<<"*****技术员信息*****"<<endl;outfile<<"┌────┬────┬────┬────┬────┐"<<endl ;outfile<<"│ 职工号│ 姓名│ 性别│ 年龄│ 工资│"<<endl;for(int i=0;i<n;i++){outfile<<"├────┼────┼────┼────┼────┤"< <endl;outfile<<"│"<<setw(8)<<tec[i].num<<"│"<<setw(8)<<tec[i].name<< "│"<<setw(8)<<tec[i].sex<<"│"<<setw(8)<<tec[i].age<<"│"<<setw(8)<<tec[i] .pay()<<"│"<<endl;}outfile<<"└────┴────┴────┴────┴────┘"<<endl ;outfile<<"********************************************"<<endl;}void Manager::txtout()//经理数据备份{ofstream outfile("d:\output.txt",ios::app);if(!outfile){cout<<"备份失败!"<<endl;}outfile<<"*****经理信息*****"<<endl;outfile<<"┌────┬────┬────┬────┬────┐"<<endl ;outfile<<"│ 职工号│ 姓名│ 性别│ 年龄│ 工资│"<<endl;for(int i=0;i<n;i++){outfile<<"├────┼────┼────┼────┼────┤"< <endl;outfile<<"│"<<setw(8)<<man[i].num<<"│"<<setw(8)<<man[i].name<< "│"<<setw(8)<<man[i].sex<<"│"<<setw(8)<<man[i].age<<"│"<<setw(8)<<man[i] .salary<<"│"<<endl;}outfile<<"└────┴────┴────┴────┴────┘"<<endl ;outfile<<"********************************************"<<endl;}void Salesmanager::txtout()//销售经理数据备份{ofstream outfile("d:\output.txt",ios::app);if(!outfile){cout<<"备份失败!"<<endl;}outfile<<"*****销售经理信息*****"<<endl;outfile<<"┌────┬────┬────┬────┬────┐"<<endl ;outfile<<"│ 职工号│ 姓名│ 性别│ 年龄│ 工资│"<<endl;for(int i=0;i<n;i++){outfile<<"├────┼────┼────┼────┼────┤"< <endl;outfile<<"│"<<setw(8)<<sma[i].num<<"│"<<setw(8)<<sma[i].name<< "│"<<setw(8)<<sma[i].sex<<"│"<<setw(8)<<sma[i].age<<"│"<<setw(8)<<sma[i] .salary<<"│"<<endl;}outfile<<"└────┴────┴────┴────┴────┘"<<endl ;outfile<<"********************************************"<<endl;}void Salesman::txtout()//销售员数据备份{ofstream outfile("d:\output.txt",ios::app);if(!outfile){cout<<"备份失败!"<<endl;}outfile<<"*****销售员信息*****"<<endl;outfile<<"┌────┬────┬────┬────┬────┬─────────┐"<<endl;outfile<<"│ 职工号│ 姓名│ 性别│ 年龄│ 工资│ 所属部门经理编号│"<<endl;for(int i=0;i<2*n;i++){outfile<<"├────┼────┼────┼────┼────┼─────────┤"<<endl;outfile<<"│"<<setw(8)<<sal[i].num<<"│"<<setw(8)<<sal[i].name<< "│"<<setw(8)<<sal[i].sex<<"│"<<setw(8)<<sal[i].age<<"│"<<setw(8)<<sal[i] .pay()<<"│"<<setw(18)<<sal[i].funnum1()<<"│"<<endl;}outfile<<"└────┴────┴────┴────┴────┴─────────┘"<<endl;outfile<<"********************************************"<<endl;}int main(){for(int i=0;;i++){int j;cout<<"★★小型公司工资管理系统★★"<<endl;cout<<"┌─────────────┐"<<endl;cout<<"│请选择您所需的操作│"<<endl;cout<<"│ 数据输入:1,并按回车键│"<<endl;cout<<"│ 数据统计:2,并按回车键│"<<endl;cout<<"│ 数据打印:3,并按回车键│"<<endl;cout<<"│ 数据备份:4,并按回车键│"<<e ndl;cout<<"│ 退出系统:5,并按回车键│"<<endl;cout<<"└─────────────┘"<<endl;cout<<"请输入一个操作: ";cin>>j;cout<<endl;switch(j){case 1:{for(int i=0;i<n;i++){tec[i].input();cout<<endl;};cout<<"---------------------------"<<endl;for(i=0;i<n;i++){man[i].input();cout<<endl;};cout<<"---------------------------"<<endl;for(i=0;i<2*n;i++){sal[i].input();cout<<endl;};cout<<"---------------------------"<<endl;for(i=0;i<n;i++){sma[i].input();cout<<endl;}; };break;case 2:{Salesmanager sma1;sma1.print();sma1.shujutongji();};break;case 3:{cout<<" 请等待......"<<endl;cout<<"职工基本情况一览表如下"<<endl;cout<<endl;cout<<"技术员"<<endl;{Technician tec1;tec1.print();cout<<endl;};cout<<"---------------------------"<<endl;cout<<"经理"<<endl;{Manager man1;man1.print();cout<<endl;};cout<<"---------------------------"<<endl;cout<<"销售经理"<<endl;{Salesmanager sma1;sma1.print1();cout<<endl;};cout<<"---------------------------"<<endl;cout<<"销售员"<<endl;{Salesman sal1;sal1.print();cout<<endl;};cout<<"---------------------------"<<endl;};break;case 4:{cout<<"数据正在备份,请等待......"<<endl;Technician tec1;tec1.txtout();Manager man1;man1.txtout();Salesmanager sma1;sma1.txtout();Salesman sal1;sal1.txtout();cout<<"数据备份完成!"<<endl;};break;case 5:exit(1);break;default : cout<<"输入有误,请重新输入。

员工工资管理系统_数据库课程设计

员工工资管理系统_数据库课程设计

企业员工工资管理系统设计1一、背景 .........................................................1二、员工工资系统设计 ............................................12.1系统功能分析 ...............................................22.2系统物理模块设计 ...........................................2三、 数据库设计 .................................................23.1数据流需求分析 ............................................23.2概念模型设计 ...............................................53.3逻辑结构设计 ...............................................6四、数据库程序设计 ...............................................4.1用户登录模块 ...............................................674.2 主窗体模块 ...............................................4.3员工信息模块 ...............................................894.4工资信息模块 ...............................................9附录 .............................................................一、背景S家具企业始建于1954年,是一家有着40多年历史的老厂。

工资管理系统

工资管理系统

工资管理系统工资管理系统是一种可以帮助企业有效管理员工工资信息和薪资发放的软件系统。

它通过计算、记录和监控员工的工资数据,帮助企业实现工资发放的自动化,提高工资管理的效率和准确性。

本文将阐述工资管理系统的定义、功能、价值以及其应用前景。

一、工资管理系统的定义工资管理系统是一套软件系统,用于对企业的员工工资进行管理和监控。

它涵盖了工资计算、薪资结构、工资发放、工资报表生成等多个方面,可帮助企业自动化地处理工资管理流程,提高效率和准确度。

二、工资管理系统的功能1.员工信息管理:工资管理系统可以记录和管理员工的基本信息,包括姓名、职位、部门、岗位等。

通过系统可以快速查询和更新员工信息,方便企业管理人力资源。

2.薪资结构管理:系统提供了灵活的薪资结构管理功能,可根据企业的实际情况设置不同的薪资组成和计算方式。

企业可以根据员工的职位和业绩情况,制定不同的薪资政策,并通过系统自动计算和更新薪资数据。

3.工资计算与发放:系统根据预设的薪资结构和员工信息,自动计算每位员工应获得的工资金额。

同时,系统还提供了工资发放的功能,可以根据设定的发放周期和方式,自动完成工资的发放流程。

4.工资报表生成:工资管理系统能够生成多种工资报表,包括工资总额统计、个人工资明细、部门工资对比等。

这些报表可以帮助企业更好地了解工资状况,进行薪资分析和预算。

三、工资管理系统的价值1.提高工资管理效率:工资管理系统的自动化特性,能够大大减少手工操作和重复劳动,节省工资管理的时间和人力成本。

企业可以将更多精力和资源用于提升核心业务的发展。

2.提高数据准确性:系统能够准确地计算工资金额,避免了手工计算中可能出现的错误。

同时,系统存储了员工的历史工资数据,可提供准确的工资查询和分析功能,有助于减少数据错误和争议。

3.强化工资管理控制:工资管理系统可以制定严格的权限控制,对不同角色的员工进行权限限制,确保工资数据的安全性和保密性。

只有授权人员才能访问和修改工资数据,减少了数据泄露和滥用的风险。

工资管理系统

工资管理系统

第一章可行性分析和需求分析1.1可行性分析可行性分析是要决定“做还是不做”,它是客观的、科学的。

目前国内很多软件公司做系统集成项目,业内流传“没有做不了的系统集成项目”。

这是个错误的理念,因为可行性分析表明做某件事的成功几率和是不是有真正的开发价值。

不论是为客户做软件项目还是为自己做软件产品,都要进行需求分析。

它可以减少不必要的损失和资金投入。

对于我所做的工资管理系统,经过可行性分析它具有开发成功几率高和广阔的市场应用价值。

1.2需求分析需求分析所要作的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。

要围绕两个核心问题开展需求分析:(1)应该了解什么?(2)通过什么方式去了解?随着计算机硬件成本的降低,中小型企业已经有能力配置一台计算机来管理职工的工资。

虽然可以直接购买软件市场上十分成熟的商业化软件,但根据自己企业的实际情况,设计一套有自己公司特色的工资管理软件,具有操作简单方便、运行速度快等特点。

由于软件是自己开发的,自己掌握程序的源代码,如果遇到公司需求变动时,只要简单修改软件即可,不用额外支出费用。

另外,自己开发的程序由于加密方式不同于商业化软件,安全系数相对来讲也高一些。

以前的工资的核算模式是企业根据员工的实际情况,首先定制一个基本工资,根据员工的工作情况,再给予各种形式的奖金。

员工的考勤通常是经专人记录。

到月底时,会计要根据员工的工作情况,按一定的工资核算计算工资。

这种工作模式工作起来效率很低,并且存在着考勤人员作弊、会计计算工资错误等种种弊端。

如果使用计算机管理员工的工资时,就不存在这种现象。

作为工资管理系统的参考,需求分析的任务就是借助于当前大多数普通人手工作业的逻辑模型导出本系统的逻辑模型,解决本系统的“做什么”的问题需求分析方法由对软件的数据域和功能域的系统分析过程及其表示方法组成。

它定义了表示系统逻辑视图和物理视图的方式。

小型企业Excel工资管理系统关键问题探讨

小型企业Excel工资管理系统关键问题探讨
包 括 10 0 元本 金 和5 502 元 利 息 , 上 述 的总 分 析 表 一致 。 50 0 5 2 .7 与
款性质 、 同利率和不 同期限下的每月还款额 、 不 累计还款额和累计 利息等相关信息 ,如表2 和表3 所示。假定 甲申请 了住房公积金贷
款, 贷款金额 1万元 , 8 年限l年 , 0 乙从银行 申请 了商业贷款 , 贷款金 额 为1万元 , 限1年 , 5 年 5 表二的阴影表示 甲的结果 , 表三 的阴影表 示 乙的结果 , 在贷款性质里选择 “ 公积金” 商业 ”贷款金额里分 或“ , 别选择 10 0 和 100 , 8 00 5 0 0 就能够得到二人的每月还款额 , 累计还款 额和累计利息。 1万 ,0 ) 甲( 8 1年 的每月还款金额为 1 1. 元 , 7 40 2 至第 l 年底 ,累计 还 款额 为2 5 8 . 元 ,累计 支 付银 行 的利 息为 0 0 6 23 2
会计信息化 l C O N I G I F R TON C U TN N O MA I A
小型企业 E cl xe工资管理系统关键问题探讨
上 海农林职业技 术学院 许 长荣 陈朝辉
目前很多小型基于成本 的考虑 , 采用E cl xe电子表进行工 资核 算与管理 , 这是一 种经济有效的方法。 一般说来 ,xe E资管理系 E cl S 统包括 员工工资表 、 勤统计表 、 考 提成与绩效统计表 、 社会保 险表 以及工资条等组成部分。 考勤统计表 、 提成与绩效统计表的数据反 映在员工工资表 的工资项 目上 ,社会保险表的数据则反映在员工 工资表 的代扣项 目上 , 工资条则根据工资表制作 。 上述表格以员工 工资表为核心, 通过工号进行关联 。 鉴于工号的唯一性 、 重要性 , 其 编码必须符合一定的规则 , 如采用2 2 + 的编码 形式 , 即前两位表示 员工所 在部门 , 两位为流水号 。 后 在小型企业E cl xe工资管理系统

小型企业工资管理系统论文

小型企业工资管理系统论文

摘要:本系统为工资发放系统,是为了能够对工资发放进行有效的管理而做,采用的开发工具是 Microsoft Visual Basic 6.0。

使用的技术有:数据库的访问;菜单控制。

本系统能够提供对工资发放各明细项目的数据编辑,自动计算出工资发放各项合计数据及代扣项目数据;可自主设定条件从而达到对工资数据的多角度查询功能;方便导入、导出数据及输出报表;并可转换成适合与银行UNIX平台接口的数据形式以便于委托银行办理代发工资业务。

财务部门人员以管理员身份登录,对本系统的可登录人员进行管理;而单位其他相关部门人员作为一般用户登录本系统时,数据编辑程序、数据导入程序及增加用户、删除用户程序自动关闭,从而控制本系统的工资数据编辑、数据导入及用户增、删功能只能由财务部门人员操作。

实现了财务部门对本单位工资发放系统的集中管理,保证了系统的安全性。

是一个功能实用,用户(财务部、其他相关部门、银行)操作方便,简单明了的工资发放软件。

关键词:控件对象数据库表窗体Abstract:This system grants system for salary. The developing instrument adopted is Basic 6 of Microsoft Visual. There are the technologies used: the visit of the data base; the menu is controlled. The system can be offered to the data editor granting every detail project to the salary, calculate and publish salary grant data of total lings and take the place of and spike project datum while being automatic; but settle the condition on one's own thus reaches and inquires about the function to much angles of the salary data; and the convertible suitable as bank handle and take the place of business of paying out wages of at authorized banks on UNIX platform the data forms of interfaces. Financial personnel of department log-in as janitors log in to personnel go on and manage to this a systematic one; When other relevant department personnel of unit are regarded as a system of general user's log-in, Editor of data procedure, data channel procedure into and increase user, delete automatic to close procedure user, Thus, data channel copies of systematic salary data editor into control. Grant systematic centralized management to the salary of our unit after realizing the financial department, have guaranteed the systematic security.Key words:control the piece object database form目录一.系统理论基础及运行环境…………………………………错误!未定义书签。

JAVA某公司的工资管理系统

JAVA某公司的工资管理系统

JAVA某公司的工资管理系统摘要我们小组的课程设计是某公司的工资管理系统。

在这个计算机快速发展的世界里,计算机为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现代化起到了重要作用。

工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,既方便又快捷地完成员工工资的发放。

我们组在课程设计过程中根据设计中的需求及对工资管理系统采用了模块化的设计思想,在机房我们在Windows XP操作系统环境下,采用myeclipse7作为开发工具,主要连接Access数据库来实现公司的工资管理系统的主要功能。

在设计过程中,我们首先小组首先对整体的思路进行分析,然后进行分工。

对数据库和类进行设计,实现了工资管理系统的功能。

其功能主要包括公司用户管理、人员管理、部门管理、工资管理等功能。

本系统运用了数据库技术,可以大量的存储信息。

又实现了人机交互,不但缩短工资发放的时间,又避免了传统时代的人工计算错误。

总而言之,该系统在工资管理方面考虑周全,功能齐全,极大地提高了公司对员工工资管理的效率。

关键词工资管理系统,Access数据库,Java目录摘要I目录II第1章绪论 11.1 项目背景 11.2 项目开发环境 11.2.1 硬件环境 11.2.2 软件环境 1第2章相关技术 12.1系统所涉及到的语言 12.1.2 Java 12.2开发工具 12.2.1 MyEclipse 12.2.1 Access 2第3章系统分析及组内分工 1 3.1需求概述 13.2需求分析 13.2.1 理解需求 13.2.2 分析需求 13.2.3 可行性分析 23.3设计思想 23.4系统功能结构图 33.5组内分工 4第4章数据库设计 54.1数据库需求分析 54.2数据流图 54.2数据字典 64.3 概念结构设计 94.3.1概念结构设计方法94.3.2概念模型设计9第5章系统详细模块设计与实现105.1 用户登录及主界面105.2 用户管理功能实现185.3人员管理功能实现 245.4部门管理功能实现 395.5工资管理功能实现 455.6帮助功能实现505.7退出系统功能实现 51结论52致谢53参考文献54第1章绪论1.1 项目背景借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。

工资核算管理系统

工资核算管理系统

工资核算管理系统工资核算管理系统:提升企业薪酬管理效率在当今快速发展的商业环境中,企业需要一个高效、准确且透明的薪酬管理系统来确保员工的信任和满足。

工资核算管理系统便是这样一种工具,它通过自动化的工资计算和报告功能,减少了人为错误,提高了准确性,并帮助企业管理者更好地理解和满足员工的薪酬需求。

工资核算管理系统是一种电子化的软件程序,旨在简化薪酬管理过程。

它可以从各种来源收集数据,包括员工信息、工作时间表、扣款项目等,然后根据预设的规则和公式进行自动计算。

这种系统不仅可以处理各种复杂的工资计算,包括加班费、扣款、奖金等,还可以生成各种报告和图表,帮助管理者更好地理解薪酬成本和员工绩效。

一个优秀的工资核算管理系统应具备以下特点:1、用户友好:系统应设计简洁,易于操作和理解。

员工和企业管理者应该可以轻松地进行工资查询、修改和报告等操作。

2、数据安全:系统应保证员工信息的安全性,防止数据泄露或损坏。

3、准确性:系统应能够准确地计算和报告工资,以确保员工的权益和企业的合规性。

4、实时更新:系统应能够实时更新数据和信息,以反映最新的薪酬和员工信息。

5、报告和分析功能:系统应提供各种薪酬报告和图表,帮助企业管理者更好地理解薪酬成本和员工绩效。

工资核算管理系统的优势显而易见,特别是对于大型企业。

首先,它可以显著提高薪酬管理的效率和准确性,减少人为错误。

其次,它可以提高员工的满意度和信任度,因为他们可以更方便、更透明地查看和理解自己的薪酬。

最后,它可以帮助企业管理者更好地管理和理解其薪酬成本,以便做出更明智的商业决策。

然而,也存在一些挑战。

首先,这种系统的实施可能需要大量的时间和资源,特别是在数据迁移和员工培训方面。

其次,系统的维护和更新也需要持续的投资和技术支持。

最后,对于一些传统企业或小型企业来说,他们可能难以承受这种电子化的薪酬管理系统的成本。

总的来说,工资核算管理系统是一种强大的工具,可以帮助企业提高薪酬管理的效率和准确性。

小型企业工资管理系统java课程设计

小型企业工资管理系统java课程设计

小型企业工资管理系统java课程设计1.概述随着社会的发展,企业的规模越来越多样化。

小型企业也日益增加,而小型企业的存在为大多数人提供了就业机会。

然而,小型企业的管理也面临着诸多挑战,其中包括工资管理。

为了提高工资管理的效率和准确性,我们决定设计一个小型企业工资管理系统。

2.系统设计目标本课程设计的目标是设计一个基于java语言的小型企业工资管理系统,该系统应能够实现以下功能:- 实现员工信息的录入、修改和删除。

- 实现工资的计算、发放和管理。

- 实现员工考勤记录的管理。

- 实现员工与薪资的绑定。

- 实现数据的可视化统计和报表生成。

3.系统设计理念本系统的设计理念是简洁而高效。

我们希望通过精心设计的用户界面和清晰的操作流程,为小型企业提供一套方便、快捷、准确的工资管理方案。

4.系统实现方案为实现以上目标和理念,我们将采用以下技术方案:- 使用java语言进行系统开发,结合面向对象的设计思想。

- 使用MySQL数据库进行数据存储,确保数据的可靠性和安全性。

- 使用Swing框架进行用户界面设计,确保界面美观和易用。

- 使用JDBC技术进行数据库连接和操作,保证系统的数据操作能力。

- 使用Eclipse作为开发工具,提高开发效率和代码质量。

5.系统功能模块本系统将包括以下主要功能模块:- 员工信息管理模块:包括员工基本信息的录入、修改和删除。

- 工资管理模块:包括工资的计算、发放和管理。

- 考勤记录管理模块:包括员工考勤记录的管理和统计。

- 统计报表模块:包括员工工资和考勤情况的可视化统计和报表生成。

6.系统实现步骤开发该系统的步骤如下:- 分析需求:对系统功能和性能进行详细分析,明确需求。

- 数据库设计:设计合理的数据库表结构,保证数据的准确性和完整性。

- 系统架构设计:设计系统的整体架构和模块划分,明确模块之间的关系和交互。

- 编码实现:按照设计要求,使用java语言进行编码实现。

- 调试测试:对系统进行全面测试和调试,确保系统的稳定性和可靠性。

小型企业人事管理系统

小型企业人事管理系统

小型企业人事管理系统可行性分析报告一、用户需求分析1.系统概述实现人事管理现代化是一个复杂的系统工程,需要采取科学的管理方法和先进的科技手段。

科学的管理方法在管理中一般是指数学方法、系统方法、信息方法、控制论方法、社会学方法、心理学方法等科学方法,而先进的科技手段主要是运用当代最新科学技术之一的电子计算机来为人事管理现代化服务。

电子计算机作为数据处理系统,已逐渐成为人事管理现代化的重要工具,在人事管理中正在发挥着重要的作用。

在我国,已经开始运用电子计算机进行人员工资管理、人事统计和查询、干部考评和人事档案管理以及人才预测和规划等。

通过使用企事业人事管理信息系统,使企业的人事管理工作系统化、规范化、自动化,从而达到提高企事业管理效率的目的。

系统开发的总体任务是使人事部门管理人员可以轻松快捷地完成人事管理的任务,主要包括人员基本情况管理、工资管理、和考勤管理、培训管理等几个方面的功能,以实现用户方便的输入、查询、统计、打印相关报表的业务需求。

人事管理信息化的根本目的是快捷全面地传递员工的个人信息,管理者可以及时掌握整个人事管理系统的全面情况,为全面合理的管理提供技术支持。

成功运行此系统,将可以高效能、大容量地收集、处理、存储人事信息,大幅度地提高人事管理信息系统的工作质量和效率。

2.系统功能此小型企业人事管理系统,包括五个模块,即职工基本信息管理、部门管理、考勤管理、工资管理、日常工作管理。

(1)基本功能①添加、删除、更新、查找职工信息;②添加、删除、更新、查找部门信息③对职工进行考勤;④查询职工考勤记录,职工记录⑤职工工资管理⑥职工工作调动管理(2)特别功能①职工请假管理;②打印所有职工工资单;(3)系统结构及处理流程图2-1 系统结构图图2-2 系统处理流程图二、技术可行性分析1、人事考勤工资管理系统是数据库应用程序,职工的档案关系以及职工和工资信息的关系虽然很复杂,但是都可以很清楚的用关系数据库模式表示出来,采用数据库的操作没有难度。

金蝶软件各个版本及其作用

金蝶软件各个版本及其作用

金蝶软件各个版本及其作用金蝶KIS适用于中小企业管账、管货、管税、管生产。

根据中国企业在不同发展阶段的管理需要,分为迷你版、理税王、财税王、标准版、行政事业版、专业版。

金蝶KIS标准版其中标准版提供了总账、报表、工资、固定资产、出纳管理、往来管理、财务分析等企业全面财务核算和管理。

金蝶KIS专业版包含供应链管理、简单的、相对单一生产管理、账务处理、固定资产、工资管理、出纳管理、报表与分析等模块以及远程应用和移动应用,帮助小型企业快速成长。

金蝶KIS迷你版功能点:财务处理、报表、出纳管理、往来管理、引入引出。

金蝶理税王、财税王功能点:财务处理、报表、出纳管理、往来管理、引入引出以及能直接计算企业的税费,做到防范因不了解或不能准确理解税务政策而发生“多缴,少缴,提前缴”的税务风险。

金蝶EAS EAS(Enterprise Application Suite),是金蝶国际软件集团推出的新一代企业应用套件。

金蝶EAS核心应用包括战略决策和业务协作。

战略决策为企业提供战略目标管理、战略绩效管理、全面预算管理和决策支持,帮助企业战略目标的达成;业务协作全面覆盖价值链研发、采购、生产、库存、销售、分销、服务等基本增殖活动,和财务、人力资源、协同办公等,业务创新平台,帮助企业快速响应客户需求,提升企业经营效益。

金蝶EAS还为企业提供风险管理和对标管理,帮助企业管控风险,实现企业的持续超越。

金蝶EAS针对行业特性,同时提供房地产、建筑工程、制造业、金融、现代农业、交通运输、电子、政府、流通、烟草、服装、现代服务业等28个行业解决方案,满足企业行业应用需求。

金蝶EAS主要针对的是集团企业,着重起到对分公司的监控作用。

金蝶K/3K/3是全面成熟的ERP产品,拥有3000多项功能、60余个子系统、30多个工具、10余个跨行业解决方案,以及极具竞争力的行业解决方案。

产品解决方案有:现金管理解决方案-方案提供现金管理系统、应收款管理系统、应付款管理系统、网上银行系统的集成应用;精细化成本管理-方案提供实际成本、日成本、作业成本、标准成本、成本分析系统,满足不同企业的成本管理要求;精益生产-方案以MPS/MRP和看板管理为核心。

小型工资管理系统的设计与实现

小型工资管理系统的设计与实现

小型工资管理系统的设计与实现一、引言随着现代企业的不断发展,工资管理变得愈加复杂。

如何快速、准确地计算出员工的薪资水平,如何发放薪资并记录统计,成为了企业管理者们的一大难题。

针对这一问题,设计一个小型的工资管理系统变得尤为必要。

本文将介绍一款小型工资管理系统的设计与实现,该系统主要包括员工信息管理、薪资管理、考勤管理、绩效管理等模块,旨在为企业管理者提供一种快速便利的工资管理方案。

二、功能需求(一)员工信息管理员工信息管理是整个系统的基础,它主要包含员工的基本信息、入职时间、工作职责、薪资结构等信息。

管理员可以通过该模块对员工的基本信息进行增、删、改、查操作,也可以根据员工的薪资结构自动生成员工的工资信息。

同时,管理员也可以将员工按部门、职务等进行分类和管理。

(二)薪资管理薪资管理是工资管理系统的核心部分,主要包括员工的实际工资、考勤信息、支付方式等内容。

管理员可以在从员工信息管理模块中获取员工的薪资结构后,根据员工的具体情况计算出实际工资,再根据支付方式进行发放。

同时,管理员还可以查看员工的历史工资信息,并进行统计分析,以便于企业可以更好地了解员工的工资水平和发展趋势。

(三)考勤管理考勤管理是对员工工作时间和工作质量的评估,主要包括员工的迟到、早退、缺勤等情况。

管理员可以通过该模块记录员工打卡情况,并及时发现和纠正违规行为。

同时,管理员还可以根据员工的考勤情况对员工进行奖惩,以激励员工对工作的积极性。

(四)绩效管理绩效管理是对员工工作质量和工作成效的评估,主要包括员工的工作进度、工作质量、工作态度等维度。

管理员可以通过该模块对员工的绩效情况进行评估,并及时反馈给员工。

同时,管理员还可以根据员工的绩效情况进行奖惩,以激励员工进一步提升工作能力和工作水平。

三、技术架构本小型工资管理系统基于Web应用程序开发,采用的开发语言为PHP,数据库采用MySQL,Web服务器采用Apache,前端框架采用BootStrap。

小企业工资薪金制度 小型生产企业薪酬管理制度(通用7篇)

小企业工资薪金制度 小型生产企业薪酬管理制度(通用7篇)

小企业工资薪金制度小型生产企业薪酬管理制度(通用7篇)小微企业的薪酬管理制度篇一第一章总则本方案适用于××××公司(董事长、总裁、总经理除外)的全体正式员工。

制定本方案的目的是建立统一的薪酬平台,实现按价值付酬,促进内部公平,起到激励、吸引、留住人才的作用。

薪酬作为分配价值形式之一,遵循公平性、竞争性、激励性、经济性、合法性的原则。

(一)公平性指公司员工所获得的薪酬应与对企业作出的贡献成正比,即与其岗位价值相匹配。

(二)竞争性是指与所在地区行业或同等规模的企业类似职务相比较,公司的薪酬标准要有吸引力。

(三)激励性是指在薪酬设计上,应考虑适当拉开各级、各岗的薪酬水准差距,以真正体现薪酬的激励效果,从而提升员工的工作积极主动性。

(四)经济性指薪酬水平要考虑公司实际支付能力的大小。

薪酬分配的依据是:员工的工作量、职务的高低、技术和能力水平、工作条件、工龄、企业负担能力、地区和行业的薪酬水平、劳动力市场的供求状况、生活费用与物价水平。

公司根据当期经济效益及可持续发展状况决定工资水平。

第二章薪酬体系第六条公司员工薪酬体系分别采取三种不同类别:与企业年度经营业绩相关的年薪制;与年度绩效、月度绩效相关的岗位绩效工资制;与岗位相关的市场工资加绩效制。

第七条适用本薪酬体系的人员为公司常设在编员工。

临时工、小时工、企业顾问、特聘律师等均不纳入其中。

第八条享受年薪制的员工,其工作特征是以年度为周期对经营工作业绩进行评估并发放相应的薪酬。

第九条实行岗位绩效工资制的员工目前包括除了工勤职系外的所有员工。

第十条对于工勤职系采用市场工资加绩效制。

其特征是按地区劳动力市场行业指导价格和公司实际情况确定工资加绩效水平,按月支付。

第三章薪酬结构(三)附加工资,包括一般福利、社会保险、补助等。

(三)岗位工资:按照岗位价值评估的结果确定,体现了岗位的内在价值和员工技能因素。

其中,绩效工资与每月度的考核结果挂钩,体现员工在当前岗位和现有技能水平上通过自身努力为公司实现的价值。

工资管理系统软件需求规格说明书

工资管理系统软件需求规格说明书

xxx产品需求规格说明书文档编号:SS-SRS-1.0 工资管理系统需求规格说明书修订记录:目录1 简介 (4)1.1 目的 (4)1.2 范围 (4)1.3 定义、首字母缩写词和缩略语 (4)1.4 参考资料 (5)1.5 假定 (5)2 产品定位 (5)2.1 产品背景 (5)2.2 问题说明 (5)2.3 产品定位说明 (5)3 相关方和用户说明 (6)3.1 相关方摘要 (6)3.2 用户摘要 (6)3.3 用户环境 (6)3.4 关键的相关方/用户需要 (6)4 产品概述 (6)4.1 产品总体效果 (6)4.2 功能摘要 (6)4.3 假设与依赖关系 (6)5 产品功能性需求概述 (6)6 产品功能关联 (7)7 产品功能性需求描述 (7)7.1 员工基本信息 (7)7.1.1 员工个人信息CRUD (7)7.1.2 员工基本工资数据 (8)7.2 工资计算 (8)7.2.1 基本工资计算 (8)7.2.2 临时发放计算 (9)7.2.3 个人所得税计算 (9)7.3 数据保存 (10)7.3.1 保存工资发放数据 (10)7.3.2 查询工资发放数据 (10)7.4 工资汇总 (10)7.4.1 打印工资报表 (10)7.4.2 计算年终奖金 (11)8 约束 (11)9 接口 (11)10 产品非功能性需求 (11)10.1 适用的标准 (11)10.2 系统需求 (11)10.3 用户界面需求 (12)10.4 易用性 (12)10.5 可靠性 (12)10.6 性能 (12)10.7 可支持性 (13)10.8 安全性需求 (13)10.9 可扩展性需求 (13)10.10 兼容性需求 (13)10.11 可移植性需求 (13)11 文档需求 (13)11.1 用户手册 (13)11.2 联机帮助 (13)11.3 安装指南、配置文件、自述文件 (13)12附录A:需求确认 (13)13 附录B:需求评审辅助列表 (15)14 附录C:待定需求列表 (15)1 简介当今社会,随着计算机技术的飞速发展, 手工填写工资单的公司已不多见了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

小型公司工资管理系统————————————————————————————————作者:————————————————————————————————日期:中国石油大学(华东)信息与控制工程学院《C++程序设计实习》报告小型公司工资管理系统的设计专业班级:XX级 xx班学号:XXXXXXXX姓名:XXX时间:2013.7.22—7.26目录一、实习内容 (1)1.1、课程设计的目的 (1)1.2、设计题目及要求 (1)二、设计思路 (2)三、程序清单 (4)3.1、程序源代码 (4)四、运行结果 (13)4.1、程序运行 (14)4.2、备份文本信息 (15)五、程序使用说明 (16)六、总结及心得体会 (17)一:实习内容1.1、课程设计的目的此次课程设计的目的是以《程序设计语言(C/C++)》为基础,针对具有一定难度的综合性题目,进行分析、编程、调试和运行,进一步掌握面向对象和面向过程程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题、解决问题的能力。

通过设计一个简单的《小型公司工资管理系统》,进一步熟悉C++中类的概念、类的封装、继承和多态的实现方式。

了解系统开发的需要分析,类层次设计,模块分析,编码测试,模块组装与整体调试的全过程,逐步熟悉程序设计的方法,并养成良好的编程习惯。

1.2、设计题目及要求1 题目:《小型公司工资关系系统》设计2 设计说明与要求(1) 公司主要有4类人员:经理、技术员、销售员、销售经理。

要求储存这些人的职工号姓名、月工资、年龄、性别等信息。

(2) 工资的计算方法A 、经理:固定月薪为8000元;B 、技术员:工作时间×小时工资(100元每小时);C 、销售员:销售额×4%提成;D 、销售经理:底薪(5000元)+所辖部门销售额总额×0.5%;(3) 类的层次结构大体如下:(4) 输入员工基本数据,要求每类人员不能少于4人,员工信息输出格式参雇员类 经理类 销售员类 技术员销售经理考运行效果。

(5)实现功能应用程序中要有菜单,用于选择各种功能,其中①数据输入:输入各种数据;②数据统计:统计各种销售经理下属销售员的销售额及限售额之和;销售经理按工资进行的冒泡排序;③数据打印:打印各类员工的数据信息;④数据备份:把各类员工的数据星系写入文件中保存;⑤退出本系统;(6)菜单说明①数据录入指通过键盘输入各类员工的各项数据;②数据统计指统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡法排序;③数据打印指按照表格的格式在屏幕上输出个员工的信息;④数据备份指将所有员工的信息保存到文件;⑤退出:结束程序的运行。

(7)注意一个销售经理管辖多个销售员。

(8)其他功能可以自己扩充(扩充的功能若比较合理可适当加分)。

(9)要求在控制台下完成(显示内容都在黑屏下显示)。

二、设计思路1、首先整体考虑程序应该实现的功能,共数据输入,数据统计,数据打印,数据备份和退出系统5个。

2、然后定义一个Employee的雇员基类,然后由此派生出Tech,Manager,Salesman 三个分别为技术员类,经理类,销售员类;再由Manager派生出销售经理类Salesmanager。

所有的继承都是公有继承,每个类中的成员都是protected型的,基类中定义有数据输入函数。

3、主函数里定义了四个对象数组,Tech T[A];Manager M[B];Salesman S[C];Salesmanager SM[D]。

4、整个程序由主函数的一个for循环控制,根据输入的操作选项通过一个switch语句判断该进行什么操作,每一个case后面对应一个函数,每个函数对应一个操作,1对应数据输入,2对应数据统计,3对应数据打印,4对应数据备份,5对应退出系统。

5、数据统计、打印以及备份都以表格形式输出。

表格通过制表符进行设计。

表头表尾表中、菜单还有分隔符均单独定义成void 型的函数。

如:void tou(){cout<<"┌─────┬─────┬─────┬─────┬─────┐"<<endl;cout<<"│职工号│姓名│性别│年龄│工资│"<<endl;}6、case 中调用四个带参的函数fun3(T,M,S,SM)、data_tongji(T,M,S,SM)、data_print(T,M,S,SM)、data_beifen(T,M,S,SM)。

四个函数均用了四个循环语句分别进行输入、统计、打印、备份。

如输入中的一个:for(i=0;i<A;i++){T[i].data_cin();cout<<endl;}data_cin()这类函数在各个类中定义,并且同名,这样能简化程序。

7、在进行销售经理的数据输出时,考虑其与销售员之间所属关系,定义若干全局数组double wage[D]单独存放销售经理的工资,排序时通过if语句先判断所属关系,再进行冒泡法排序,这是要用到双重循环。

8、考虑各种数据类型还有所需的C++内的函数,要引用<iostream> <string> <fstream> <iomanip>这四个头文件。

<fstream>用于数据备份,使用时,先用ofstream outfile;outfile.open("工资管理系统.txt",ios::out);打开磁盘流文件,并且对备份文件进行命名,同时确定存储位置。

<iomanip>用其setw()设置输出数据的宽度,便于表格的制作9、因为类中成员都是保护类型的,所以要定义属于各类的返回成员值的函数,如turn_belong()、turn_num()……三、程序清单#include<iostream>#include<string>#include<fstream>//用于数据备份#include<iomanip>//设置输出数据的宽度。

比如setfill,setw,setbase,setprecision)using namespace std;const int A=4,B=4,C=8,D=4;//定义全局常变量const int a=8000;const int b=5000;const double c=0.005;const int d=100;const double e=0.04;int n=0;int m[2]={0,0};int t[2];class Employee//雇员类(基类){public:void data_cin()//成员函数{cout<<"其姓名:";cin>>name;cout<<"性别(m/w):";cin>>sex;cout<<"年龄:";cin>>age;}int turn_num(){return num;}string turn_name(){return name;}char turn_sex(){return sex;}int turn_age(){return age;}protected:int num;string name;int age;char sex;int gz;class Tech:public Employee//技术员类(雇员类派生类){public:void data_cin(){cout<<"技术员的编号:";cin>>num;Employee::data_cin();cout<<"工作时间:";cin>>time;}int turn_gz1(){return d*time;}protected:int time;};class Salesman:public Employee//销售员类(雇员类派生类){public:Salesman(){sales_money=0;}void data_cin(){cout<<"销售员的编号:";cin>>num;Employee::data_cin();cout<<"销售额:";cin>>sales_money;cout<<"所属销售经理的编号:";cin>>belong;gz=sales_money*e;}int turn_sales_money(){return sales_money;}int turn_belong(){return belong;}int turn_gz2(){return sales_money*e;}protected:int sales_money;int belong;};class Manager:public Employee//经理类(雇员类派生类)public:void data_cin(){cout<<"经理的编号:";cin>>num;Employee::data_cin();gz=a;}int turn_gz3(){return a;}};class Salesmanager:public Manager//销售经理类(经理类派生类){ public:int turn_num(){return num;}void data_cin(){cout<<"销售经理的编号:";cin>>num;Employee::data_cin();}};void fun1();//声明void fun2();void tou();void wei();void zhong();double wage[D];//工资计算方法double SM_wage(Salesman S[],Salesmanager SM[]){int i,j,k;double p;Salesmanager q;for(k=0;k<D;k++)wage[k]=0;for(i=0;i<D;i++){double sum=0;for(j=0;j<C;j++)if(SM[i].turn_num()==S[j].turn_belong()){sum+=S[j].turn_sales_money();wage[i]=sum*c+b;}}for(i=0;i<D-1;i++)for(j=0;j<D-1-i;j++)if(wage[j]<wage[j+1]){p=wage[j+1];wage[j+1]=wage[j];wage[j]=p;q=SM[j+1];SM[j+1]=SM[j];SM[j]=q;}return 0;}void fun1(){cout<<"----------------------------------------"<<endl;}void fun2(){cout<<" ★★小型公司工资管理系统★★"<<endl;cout<<"┌──────────────┐"<<endl;cout<<"│请选择您所需的操作│"<<endl;cout<<"│数据输入:1,并按回车键│"<<endl;cout<<"│数据统计:2,并按回车键│"<<endl;cout<<"│数据打印:3,并按回车键│"<<endl;cout<<"│数据备份:4,并按回车键│"<<endl;cout<<"│退出系统:5,并按回车键│"<<endl;cout<<"└──────────────┘"<<endl;cout<<"请输入一个操作:";}void tou(){cout<<"┌─────┬─────┬─────┬─────┬─────┐"<<endl;cout<<"│职工号│姓名│性别│年龄│工资│"<<endl;}void zhong(){cout<<"├─────┼─────┼─────┼─────┼─────┤"<<endl;}void wei(){cout<<"└─────┴─────┴─────┴─────┴─────┘"<<endl;}void fun3(Tech T[],Manager M[],Salesman S[],Salesmanager SM[])//数据输入(函数主体){fun1();int i;for(i=0;i<A;i++){T[i].data_cin();cout<<endl;}fun1();for(i=0;i<B;i++){M[i].data_cin();cout<<endl;}fun1();for(i=0;i<C;i++){S[i].data_cin();cout<<endl;}fun1();for(i=0;i<D;i++){SM[i].data_cin();cout<<endl;}fun1();}void data_tongji(Tech T[],Manager M[],Salesman S[],Salesmanager SM[])//数据统计(函数主体){int i,j;for(i=0;i<D;i++){cout<<"职工号为"<<SM[i].turn_num()<<"销售经理"<<SM[i].turn_name()<<"下属销售员的业绩为:"<<endl;cout<<"┌──────┬──────┬──────┐"<<endl;cout<<"│职工号│姓名│销售额│"<<endl;for(j=0;j<C;j++)if(S[j].turn_belong()==SM[i].turn_num()){cout<<"├──────┼──────┼──────┤"<<endl;cout<<"│"<<setw(12)<<S[j].turn_num()<<"│"<<setw(12)<<S[j].turn_name()<<"│"<<setw(12)<<S[j].turn_sales_money()<<"│"<<endl;m[i]+=S[j].turn_sales_money();}cout<<"├──────┼──────┴──────┤"<<endl;cout<<"│销售额总计│"<<setw(20)<<m[i]<<" │"<<endl;cout<<"└──────┴─────────────┘"<<endl;}cout<<"销售经理排序为:"<<endl; tou();SM_wage(S,SM);for(i=0;i<D;i++){zhong();cout<<"│"<<setw(6)<<SM[i].turn_num()<<" │"<<setw(6)<<SM[i].turn_name()<<" │"<<setw(6)<<SM[i].turn_sex()<<" │"<<setw(6)<<SM[i].turn_age()<<" │"<<setw(6)<<wage[i]<<" │"<<endl;}wei();}void data_print(Tech T[],Manager M[],Salesman S[],Salesmanager SM[])//数据打印(函数主体){SM_wage(S,SM);int i;cout<<"请稍等……"<<endl;cout<<"职工基本情况一览表如下:"<<endl;cout<<"技术员"<<endl;tou();for(i=0;i<A;i++){zhong();cout<<"│"<<setw(6)<<T[i].turn_num()<<" │"<<setw(6)<<T[i].turn_name()<<" │"<<setw(6)<<T[i].turn_sex()<<" │"<<setw(6)<<T[i].turn_age()<<" │"<<setw(6)<<T[i].turn_gz1()<<" │"<<endl;}wei();fun1();cout<<"经理"<<endl;tou();for(i=0;i<B;i++){zhong();cout<<"│"<<setw(6)<<M[i].turn_num()<<" │"<<setw(6)<<M[i].turn_name()<<" │"<<setw(6)<<M[i].turn_sex()<<" │"<<setw(6)<<M[i].turn_age()<<" │"<<setw(6)<<M[i].turn_gz3()<<" │"<<endl;}wei();fun1();cout<<"销售经理"<<endl;tou();for(i=0;i<D;i++){zhong();cout<<"│"<<setw(6)<<SM[i].turn_num()<<" │"<<setw(6)<<SM[i].turn_name()<<" │"<<setw(6)<<SM[i].turn_sex()<<" │"<<setw(6)<<SM[i].turn_age()<<" │"<<setw(6)<<wage[i]<<" │"<<endl;}wei();fun1();cout<<"销售员"<<endl;cout<<"┌────┬────┬────┬────┬────┬────────┐"<<endl;cout<<"│职工号│姓名│性别│年龄│工资│所属部门经理编号│"<<endl;for(i=0;i<C;i++){cout<<"├────┼────┼────┼────┼────┼────────┤"<<endl;cout<<"│"<<setw(6)<<S[i].turn_num()<<" │"<<setw(6)<<S[i].turn_name()<<" │"<<setw(6)<<S[i].turn_sex()<<" │"<<setw(6)<<S[i].turn_age()<<" │"<<setw(6)<<S[i].turn_gz2()<<" │"<<setw(10)<<S[i].turn_belong()<<" │"<<endl;}cout<<"└────┴────┴────┴────┴────┴────────┘"<<endl;fun1();}void data_beifen(Tech T[],Manager M[],Salesman S[],Salesmanager SM[]) //数据备份(函数主体){SM_wage(S,SM); int i;cout<<"数据备份中,请稍等……"<<endl;cout<<endl<<"数据备份完成!"<<endl;ofstream outfile;outfile.open("工资管理系统.txt",ios::out);outfile<<"职工基本情况一览表如下:"<<'\n'<<endl;outfile<<"技术员"<<endl;outfile<<"┌─────┬─────┬─────┬─────┬─────┐"<<endl;outfile<<"│职工号│姓名│性别│年龄│工资│"<<endl;for(i=0;i<A;i++){outfile<<"├─────┼─────┼─────┼─────┼─────┤"<<endl;outfile<<"│"<<setw(6)<<T[i].turn_num()<<" │"<<setw(6)<<T[i].turn_name()<<" │"<<setw(6)<<T[i].turn_sex()<<" │"<<setw(6)<<T[i].turn_age()<<" │"<<setw(6)<<T[i].turn_gz1()<<" │"<<endl;}outfile<<"└─────┴─────┴─────┴─────┴─────┘"<<endl;outfile<<"-------------------------------------------------------"<<endl;outfile<<"经理"<<endl;outfile<<"┌─────┬─────┬─────┬─────┬─────┐"<<endl;outfile<<"│职工号│姓名│性别│年龄│工资│"<<endl;for(i=0;i<B;i++){outfile<<"├─────┼─────┼─────┼─────┼─────┤"<<endl;outfile<<"│"<<setw(6)<<M[i].turn_num()<<" │"<<setw(6)<<M[i].turn_name()<<" │"<<setw(6)<<M[i].turn_sex()<<" │"<<setw(6)<<M[i].turn_age()<<" │"<<setw(6)<<M[i].turn_gz3()<<" │"<<endl;}outfile<<"└─────┴─────┴─────┴─────┴─────┘"<<endl;outfile<<"-------------------------------------------------------"<<endl;outfile<<"销售经理"<<endl;outfile<<"┌─────┬─────┬─────┬─────┬─────┐"<<endl;outfile<<"│职工号│姓名│性别│年龄│工资│"<<endl;for(i=0;i<D;i++){outfile<<"├─────┼─────┼─────┼─────┼─────┤"<<endl;outfile<<"│"<<setw(6)<<SM[i].turn_num()<<" │"<<setw(6)<<SM[i].turn_name()<<" │"<<setw(6)<<SM[i].turn_sex()<<" │"<<setw(6)<<SM[i].turn_age()<<" │"<<setw(6)<<wage[i]<<" │"<<endl;}outfile<<"└─────┴─────┴─────┴─────┴─────┘"<<endl;outfile<<"-------------------------------------------------------"<<endl;outfile<<"销售员"<<endl;outfile<<"┌────┬────┬────┬────┬────┬────────┐"<<endl;outfile<<"│职工号│姓名│性别│年龄│工资│所属部门经理编号│"<<endl;for(i=0;i<C;i++){outfile<<"├────┼────┼────┼────┼────┼────────┤"<<endl;outfile<<"│"<<setw(6)<<S[i].turn_num()<<" │"<<setw(6)<<S[i].turn_name()<<" │"<<setw(6)<<S[i].turn_sex()<<" │"<<setw(6)<<S[i].turn_age()<<" │"<<setw(6)<<S[i].turn_gz2()<<" │"<<setw(10)<<S[i].turn_belong()<<" │"<<endl;}outfile<<"└────┴────┴────┴────┴────┴────────┘"<<endl;outfile<<"-------------------------------------------------------"<<endl;}int main()//主函数{void display(Tech T[],Manager M[],Salesman S[],Salesmanager SM[],int n);//display函数声明Tech T[A];Manager M[B];Salesman S[C];Salesmanager SM[D];int i;for(i=1;i<=50;i++){fun2();cin>>n;display(T,M,S,SM,n);if(n==5)break;}return 0;}void display(Tech T[],Manager M[],Salesman S[],Salesmanager SM[],int n)//display 函数主体{switch(n)//选择结构{case 1:fun3(T,M,S,SM);break;case 2:data_tongji(T,M,S,SM);break;case 3:data_print(T,M,S,SM);break;case 4:data_beifen(T,M,S,SM);break;case 5:cout<<endl;break;default:cout<<"请重新选择操作"<<endl;break;}}四、运行结果以上图片顺序为:1 23 45 67 89 10五、程序的使用说明1、打开程序后,屏幕上有提示“请选择一个操作:”,用户首先输入1进行数据输入;2、输入1后,会逐项显示所要输入的成员信息,按顺序输入即可;3、数据输入完以后,会返回菜单由用户重新选择其他操作。

相关文档
最新文档