欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    公司工资管理系统程序设计报告(共29页).doc

    • 资源ID:12200905       资源大小:317KB        全文页数:29页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    公司工资管理系统程序设计报告(共29页).doc

    精选优质文档-倾情为你奉上综 合 实 验 报 告 面向对象程序设计目 录一、 课程设计题目2二、主要功能分析 3三、设计思路 3四、编码实现 3五、程序使用注意事项25六、运行结果25七、心得及体会28一、课程设计题目公司工资管理系统设计要求:(1)公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、岗位、年龄、性别等信息。(2)工资的计算办法:经理:固定月薪为8000;技术员:工作时间小时工资(100元每小时);销售员:销售额4%提成;销售经理:底薪(5000)所辖部门销售额总额0.5%;(3)类的层次结构大体如下:雇员类技术员类经理类销售员类销售经理类(4)输入数据要求每类人员不能少于4人,并按以下格式输出:职工号姓名性别年龄岗位工资排名及某销售经理所辖部门各销售员的业绩及自己的工资表:职工号姓名销售额销售额合计:(5)总体设计,要有一个菜单,用于选择各项功能,其中数据录入:输入各种数据;数据统计:各销售经理的工资计算及最终按工资进行的冒泡排序;数据打印:打印上述表格;数据备份:把相关数据写入文件;退出:退出本系统;注:各项菜单都调用一个函数来实现。二、主要功能分析1、资料录入:通过键盘输入公司各项职员的各项数据;2、资料统计:统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡排序;3、数据打印:按照表格的格式在屏幕上输出各类员工的信息;4、资料备份:把各类员工的数据信息写入文件中保存;5、退出:退出本系统三、设计思路1、整体考虑程序应该实现的功能,有数据输入,数据统计,数据打印,数据备份和退出系统5个。2、首先定义了一个Employee的雇员基类,然后由此派生出Technician,Manager,Seller三个类,并且Manager类和Seller类为虚拟继承。然后定义一个Salesmanager类多重继承于Manager类和Seller类。所有的继承都为共有继承。3、通过switch语句判断进行什么操作。四、编码实现#include<iostream>#include<string>#include<stdlib.h>#include<iomanip>#include<fstream>using namespace std;ofstream outfile;const int B=4;const int T=4;const int SB=2;const int S=4;double wage1(int n);void managerinformation();/经理信息void technicianinformatian();/技术员信息void salesmanagerinformation();/销售经理信息void sellerinformation();/销售员信息void total();/求工资函数void maopao();/冒泡排序进行工资排列void yejibiao();/打印业绩表格void SBrank();/销售经理工资排序void excelhead();/表头void excelmiddle();/表中void excelend();/表尾void backup_yejibiao(); /void backup_SBrank(); /void backup_technicianinformatian(); /各项信息表格备份void backup_managerinformation(); /void backup_salesmanagerinformation(); /void backup_sellerinformation(); /class Employeepublic:int nume() return(num);/职工号string nam()return(name);/名字char showsex() return(sex); /性别int showage() return(age);/年龄protected:int num;string name;char sex;int age;int wage;class Manager:virtual public Employeepublic:Manager() /8000元为经理固定月薪wage=8000;int managerwage() return(wage);void set_in()cout<<"经理的编号:"cin>>num;cout<<endl;cout<<"其姓名:"cin>>name;cout<<endl;cout<<"性别(m/w):" cin>>sex;cout<<endl;cout<<"年龄:"cin>>age;cout<<endl;class Technician:public Employeepublic:void set_in()cout<<"技术员的编号:"cin>>num;cout<<endl;cout<<"其姓名:"cin>>name;cout<<endl;cout<<"性别(m/w):" cin>>sex;cout<<endl;cout<<"年龄:"cin>>age;cout<<endl;cout<<"工作时间:"cin>>worktime;cout<<endl;int get_wage()/技术员工资算法return (worktime*100); /100元为单位小时工资protected:int worktime;class Seller:virtual public Employeepublic:int bossnume() return(bossnum);int money() return(salesmoney); void set_in()cout<<"销售员的编号:"cin>>num;cout<<endl;cout<<"其姓名:"cin>>name;cout<<endl;cout<<"性别(m/w):" cin>>sex;cout<<endl;cout<<"年龄:"cin>>age;cout<<endl;cout<<"销售额:"cin>>salesmoney;cout<<endl;cout<<"所属销售经理的编号:"cin>>bossnum;cout<<endl; double get_wage()/销售员工资算法 return (salesmoney*0.04);protected:int salesmoney;int bossnum;class Salesmanager:public Manager,public Sellerpublic:Salesmanager()allsale=0; void set_in()cout<<"销售经理的编号:"cin>>num;cout<<endl;cout<<"其姓名:"cin>>name;cout<<endl;cout<<"性别(m/w):" cin>>sex;cout<<endl;cout<<"年龄:"cin>>age;cout<<endl;double get_wage()/销售经理工资算法return (5000+allsale*0.005); /5000元为销售经理底薪protected:int allsale;Manager bossB;Technician techniT;Seller salesmanS;Salesmanager salesbossSB;int salesbosstotaleSB=0;Salesmanager exchangeSB;int exchange;int b=0,t=0,sb=0,s=0;int Inputboss()for(int i=0;i<B;i+)bossi.set_in(); cout<<""<<endl;return 0;/经理数据处理函数int Inputtechni()for(int j=0;j<T;j+)technij.set_in(); cout<<""<<endl;return 0;/技术员数据处理函数int Inputsalesman()for(int n=0;n<S;n+)salesmann.set_in(); cout<<""<<endl;return 0;/销售员数据处理函数int Inputsalesboss()for(int m=0;m<SB;m+)salesbossm.set_in();return 0;/销售经理数据处理函数double wage1(int n)return(5000+n*0.005);/以下为第二步计算工资代码void total() /求总销售额for(int n=0;n<S;n+)for(int m=0;m<SB;m+)if(salesmann.bossnume()=salesbossm.nume()salesbosstotalem+=salesmann.money(); break;void maopao() /冒泡法排序for(int n=1;n<SB;n+)for(int m=1;m<=SB-n;m+)if(salesbosstotalem-1>salesbosstotalem)exchangeSB=salesbossm-1;salesbossm-1=salesbossm;salesbossm=exchangeSB;exchange=salesbosstotalem-1;salesbosstotalem-1=exchange;salesbosstotalem=exchange;void yejibiao() /打印表格 for(int n=0;n<SB;n+)cout<<"职工号为"<<salesbossn.nume()<<"销售经理"<<salesbossn.nam()<<"下属的销售员业绩为:"<<endl; cout<<""<<endl; cout<<"职工号 姓名 销售额 "<<endl;for(int j=0;j<S;j+)if(salesmanj.bossnume()=salesbossn.nume()cout<<""<<endl;cout<<""<<setw(12)<<salesmanj.nume()<<""<<setw(12)<<salesmanj.nam()<<""<<setw(14)<<salesmanj.money()<<""<<endl; cout<<""<<endl; cout<<"销售额总计: "<<setw(28)<<salesbosstotalen<<""<<endl; cout<<""<<endl;void SBrank()cout<<"销售经理按工资排序为:"<<endl; excelhead(); for(int n=SB-1;n>-1;n-)excelmiddle();cout<<""<<setw(8)<<salesbossn.nume()<<""<<setw(8)<<salesbossn.nam()<<""<<setw(6)<<salesbossn.showsex()<<""<<setw(8)<<salesbossn.showage()<<""<<setw(8)<<"销售经理"<<""<<setw(8)<<wage1(salesbosstotalen)<<""<<endl;excelend();/以下为职工信息一览表代码void technicianinformatian()excelhead();for(int k=0;k<T;k+)excelmiddle();cout<<""<<setw(8)<<technik.nume()<<""<<setw(8)<<technik.nam()<<""<<setw(6)<<technik.showsex()<<""<<setw(8)<<technik.showage()<<""<<setw(8)<<"技术员"<<""<<setw(8)<<technik.get_wage()<<""<<endl; excelend();void managerinformation()excelhead();for(int k=0;k<B;k+) excelmiddle();cout<<""<<setw(8)<<bossk.nume()<<""<<setw(8)<<bossk.nam()<<""<<setw(6)<<bossk.showsex()<<""<<setw(8)<<bossk.showage()<<""<<setw(8)<<" 经理 "<<""<<setw(8)<<bossk.managerwage()<<""<<endl;excelend();void salesmanagerinformation()excelhead();for(int k=SB-1;k>-1;k-) excelmiddle();cout<<""<<setw(8)<<salesbossk.nume()<<""<<setw(8)<<salesbossk.nam()<<""<<setw(6)<<salesbossk.showsex()<<""<<setw(8)<<salesbossk.showage()<<""<<setw(8)<<"销售经理"<<""<<setw(8)<<wage1(salesbosstotalek)<<""<<endl;excelend();void sellerinformation()cout<<""<<endl;cout<<" 职工号 姓名 性别 年龄 岗位 工资 所属部门经理编号"<<endl;for(int k=0;k<S;k+)cout<<""<<endl;cout<<""<<setw(8)<<salesmank.nume()<<""<<setw(8)<<salesmank.nam()<<""<<setw(6)<<salesmank.showsex()<<""<<setw(8)<<salesmank.showage()<<""<<setw(8)<<"销售员 "<<""<<setw(8)<<salesmank.get_wage()<<""<<setw(16)<<salesmank.bossnume()<<""<<endl;cout<<""<<endl;/各步表格的表头,表中和表尾void excelhead()cout<<""<<endl;cout<<" 职工号 姓名 性别 年龄 岗位 工资 "<<endl;void excelmiddle()cout<<""<<endl;void excelend()cout<<""<<endl;/资料备份void backup_yejibiao() outfile.open("备份资料.doc",ios:out);for(int n=0;n<SB;n+)outfile<<"职工号为"<<salesbossn.nume()<<"销售经理"<<salesbossn.nam()<<"下属的销售员业绩为:"<<endl;outfile<<""<<endl;outfile<<"职工号 姓名 销售额 "<<endl; for(int j=0;j<S;j+)if(salesmanj.bossnume()=salesbossn.nume()outfile<<""<<endl;outfile<<""<<setw(12)<<salesmanj.nume()<<""<<setw(12)<<salesmanj.nam()<<""<<setw(14)<<salesmanj.money()<<""<<endl; outfile<<""<<endl; outfile<<"销售额总计: "<<setw(28)<<salesbosstotalen<<""<<endl; outfile<<""<<endl;void backup_SBrank()outfile<<"销售经理按工资排序为:"<<endl; outfile<<""<<endl;outfile<<" 职工号 姓名 性别 年龄 岗位 工资 "<<endl; for(int n=SB-1;n>-1;n-)outfile<<""<<endl;outfile<<""<<setw(8)<<salesbossn.nume()<<""<<setw(8)<<salesbossn.nam()<<""<<setw(6)<<salesbossn.showsex()<<""<<setw(8)<<salesbossn.showage()<<""<<setw(8)<<"销售经理"<<""<<setw(8)<<wage1(salesbosstotalen)<<""<<endl;outfile<<""<<endl;void backup_technicianinformatian()outfile<<"职工基本情况一览表如下"<<endl;outfile<<"技术员"<<endl;outfile<<""<<endl;outfile<<" 职工号 姓名 性别 年龄 岗位 工资 "<<endl;for(int k=0;k<T;k+)outfile<<""<<endl;outfile<<""<<setw(8)<<technik.nume()<<""<<setw(8)<<technik.nam()<<""<<setw(6)<<technik.showsex()<<""<<setw(8)<<technik.showage()<<""<<setw(8)<<"技术员 "<<""<<setw(8)<<technik.get_wage()<<""<<endl;outfile<<""<<endl;void backup_managerinformation()outfile<<"经理"<<endl;outfile<<""<<endl;outfile<<" 职工号 姓名 性别 年龄 岗位 工资 "<<endl;for(int k=0;k<B;k+)outfile<<""<<endl;outfile<<""<<setw(8)<<bossk.nume()<<""<<setw(8)<<bossk.nam()<<""<<setw(6)<<bossk.showsex()<<""<<setw(8)<<bossk.showage()<<""<<setw(8)<<" 经理 "<<""<<setw(8)<<bossk.managerwage()<<""<<endl;outfile<<""<<endl;void backup_salesmanagerinformation()outfile<<"销售经理"<<endl;outfile<<""<<endl;outfile<<" 职工号 姓名 性别 年龄 岗位 工资 "<<endl;for(int k=0;k<SB;k+)outfile<<""<<endl;outfile<<""<<setw(8)<<salesbossk.nume()<<""<<setw(8)<<salesbossk.nam()<<""<<setw(6)<<salesbossk.showsex()<<""<<setw(8)<<salesbossk.showage()<<""<<setw(8)<<"销售经理"<<""<<setw(8)<<wage1(salesbosstotalek)<<""<<endl; outfile<<""<<endl;void backup_sellerinformation()outfile<<"销售员"<<endl;outfile<<""<<endl;outfile<<" 职工号 姓名 性别 年龄 岗位 工资 所属部门经理编号"<<endl;for(int k=0;k<S;k+)outfile<<""<<endl;outfile<<""<<setw(8)<<salesmank.nume()<<""<<setw(8)<<salesmank.nam()<<""<<setw(6)<<salesmank.showsex()<<""<<setw(8)<<salesmank.showage()<<""<<setw(8)<<"销售员 "<<""<<setw(8)<<salesmank.get_wage()<<""<<setw(16)<<salesmank.bossnume()<<""<<endl;outfile<<""<<endl;outfile.close();/资料备份int main ()for(;)/建立选项表cout<<" 小型公司工资管理系统"<<endl;cout<<""<<endl;cout<<" 请选择您所需要的操作 "<<endl;cout<<" 数据输入:1,并按回车键 "<<endl;cout<<" 资料统计:2,并按回车键 "<<endl;cout<<" 数据打印:3,并按回车键 "<<endl;cout<<" 资料备份:4,并按回车键 "<<endl;cout<<" 退出系统:5,并按回车键 "<<endl;cout<<""<<endl;cout<<"请选择一个操作:"int select;/输入要进行的操作所对应的序号cin>>select;/根据序号进行选择操作switch(select)case 1:for(;)/输入数据选项中的子选项cout<<" 小型公司工资管理系统"<<endl; cout<<""<<endl; cout<<" 请选择您所需要的操作 "<<endl; cout<<" 经理数据输入 :1,并按回车键 "<<endl; cout<<" 技术员数据输入 :2,并按回车键 "<<endl; cout<<" 销售员数据输入 :3,并按回车键 "<<endl; cout<<" 销售经理数据输入:4,并按回车键 "<<endl; cout<<" 返回上一级 :5,并按回车键 "<<endl; cout<<""<<endl; cout<<"请选择一个操作:"int choice;cin>>choice;switch(choice)case 1:Inputboss();b+;break;case 2:Inputtechni();t+; break;case 3:Inputsalesman();s+;break;case 4:Inputsalesboss();sb+;break;case 5:break;default:cout<<"输入有误,请重新输入."<<endl;if(choice=5) break;break;case 2:if(s=0) cout<<"尚未输入销售员数据."<<endl;if(sb=0) cout<<"尚未输入销售经理数据."<<endl;if(s=0|sb=0) break; total();maopao();yejibiao();SBrank(); break;case 3:cout<<"请等待."<<endl;if(t!=0|b!=0|sb!=0|s!=0)cout<<"职工基本情况一览表如下"<<endl;if(t!=0)cout<<"技术员"<<endl; technicianinformatian(); cout<<""<<endl;if(b!=0)cout<<"经理"<<endl; managerinformation(); cout<<""<<endl;if(sb!=0)cout<<"销售经理"<<endl; salesmanagerinformation(); cout<<""<<endl;if(s!=0)cout<<"销售员"<<endl; sellerinformation(); cout<<""<<endl; if(t=0&&b=0&&sb=0&&s=0)cout<<"尚未录入任何人员资料."<<endl;elseif(t=0)cout<<"尚未录入技术员数据."<<endl; if(b=0)cout<<"尚未录入经理数据."<<endl; if(sb=0)cout<<"尚未录入销售经理数据."<<endl; if(s=0)

    注意事项

    本文(公司工资管理系统程序设计报告(共29页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开