欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    公司工资管理系统程序设计报告.doc

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

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

    公司工资管理系统程序设计报告.doc

    1、面向对象程序设计综合实验报告目 录一、 课程设计题目2二、主要功能分析 3三、设计思路 3四、编码实现 3五、程序使用注意事项25六、运行结果25七、心得及体会28一、课程设计题目公司工资管理系统设计要求:(1)公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、岗位、年龄、性别等信息。(2)工资的计算办法:经理:固定月薪为8000;技术员:工作时间小时工资(100元每小时);销售员:销售额4%提成;销售经理:底薪(5000)所辖部门销售额总额0.5%;(3)类的层次结构大体如下:雇员类技术员类经理类销售员类销售经理类(4)输入数据要求每类人员不能少于4人

    2、,并按以下格式输出:职工号姓名性别年龄岗位工资排名及某销售经理所辖部门各销售员的业绩及自己的工资表:职工号姓名销售额销售额合计:(5)总体设计,要有一个菜单,用于选择各项功能,其中数据录入:输入各种数据;数据统计:各销售经理的工资计算及最终按工资进行的冒泡排序;数据打印:打印上述表格;数据备份:把相关数据写入文件;退出:退出本系统;注:各项菜单都调用一个函数来实现。二、主要功能分析1、资料录入:通过键盘输入公司各项职员的各项数据;2、资料统计:统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡排序;3、数据打印:按照表格的格式在屏幕上输出各类员工的信息;4、资料备份:把各类员

    3、工的数据信息写入文件中保存;5、退出:退出本系统三、设计思路1、整体考虑程序应该实现的功能,有数据输入,数据统计,数据打印,数据备份和退出系统5个。2、首先定义了一个Employee的雇员基类,然后由此派生出Technician,Manager,Seller三个类,并且Manager类和Seller类为虚拟继承。然后定义一个Salesmanager类多重继承于Manager类和Seller类。所有的继承都为共有继承。3、通过switch语句判断进行什么操作。四、编码实现#include#include#include#include#includeusing namespace std;ofs

    4、tream 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 SB

    5、rank();/销售经理工资排序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

    6、: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()coutnum

    7、;coutendl;coutname;coutendl;coutsex;coutendl;coutage;coutendl;class Technician:public Employeepublic:void set_in()coutnum;coutendl;coutname;coutendl;coutsex;coutendl;coutage;coutendl;coutworktime;coutendl;int get_wage()/技术员工资算法return (worktime*100); /100元为单位小时工资protected:int worktime;class Seller:vi

    8、rtual public Employeepublic:int bossnume() return(bossnum);int money() return(salesmoney); void set_in()coutnum;coutendl;coutname;coutendl;coutsex;coutendl;coutage;coutendl;coutsalesmoney;coutendl;coutbossnum;coutendl; double get_wage()/销售员工资算法 return (salesmoney*0.04);protected:int salesmoney;int b

    9、ossnum;class Salesmanager:public Manager,public Sellerpublic:Salesmanager()allsale=0; void set_in()coutnum;coutendl;coutname;coutendl;coutsex;coutendl;coutage;coutendl;double get_wage()/销售经理工资算法return (5000+allsale*0.005); /5000元为销售经理底薪protected:int allsale;Manager bossB;Technician techniT;Seller sa

    10、lesmanS;Salesmanager salesbossSB;int salesbosstotaleSB=0;Salesmanager exchangeSB;int exchange;int b=0,t=0,sb=0,s=0;int Inputboss()for(int i=0;iB;i+)bossi.set_in(); coutendl;return 0;/经理数据处理函数int Inputtechni()for(int j=0;jT;j+)technij.set_in(); coutendl;return 0;/技术员数据处理函数int Inputsalesman()for(int n

    11、=0;nS;n+)salesmann.set_in(); coutendl;return 0;/销售员数据处理函数int Inputsalesboss()for(int m=0;mSB;m+)salesbossm.set_in();return 0;/销售经理数据处理函数double wage1(int n)return(5000+n*0.005);/以下为第二步计算工资代码void total() /求总销售额for(int n=0;nS;n+)for(int m=0;mSB;m+)if(salesmann.bossnume()=salesbossm.nume()salesbosstotal

    12、em+=salesmann.money(); break;void maopao() /冒泡法排序for(int n=1;nSB;n+)for(int m=1;msalesbosstotalem)exchangeSB=salesbossm-1;salesbossm-1=salesbossm;salesbossm=exchangeSB;exchange=salesbosstotalem-1;salesbosstotalem-1=exchange;salesbosstotalem=exchange;void yejibiao() /打印表格 for(int n=0;nSB;n+)cout职工号为s

    13、alesbossn.nume()销售经理salesbossn.nam()下属的销售员业绩为:endl; coutendl; cout职工号 姓名 销售额 endl;for(int j=0;jS;j+)if(salesmanj.bossnume()=salesbossn.nume()coutendl;coutsetw(12)salesmanj.nume()setw(12)salesmanj.nam()setw(14)salesmanj.money()endl; coutendl; cout销售额总计: setw(28)salesbosstotalenendl; coutendl;void SBr

    14、ank()cout销售经理按工资排序为:-1;n-)excelmiddle();coutsetw(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;kT;k+)excelmiddle();coutsetw(8)te

    15、chnik.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;kB;k+) excelmiddle();coutsetw(8)bossk.nume()setw(8)bossk.nam()setw(6)bossk.showsex()setw(8)bossk.showage()setw(8) 经理 se

    16、tw(8)bossk.managerwage()-1;k-) excelmiddle();coutsetw(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()coutendl;cout 职工号 姓名 性别 年龄 岗位 工资 所属部门经理编号endl;for(int k=0;kS;k+)coute

    17、ndl;coutsetw(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;coutendl;/各步表格的表头,表中和表尾void excelhead()coutendl;cout 职工号 姓名 性别 年龄 岗位 工资 endl;void excelmiddle()coutendl;void excelend()coute

    18、ndl;/资料备份void backup_yejibiao() outfile.open(备份资料.doc,ios:out);for(int n=0;nSB;n+)outfile职工号为salesbossn.nume()销售经理salesbossn.nam()下属的销售员业绩为:endl;outfileendl;outfile职工号 姓名 销售额 endl; for(int j=0;jS;j+)if(salesmanj.bossnume()=salesbossn.nume()outfileendl;outfilesetw(12)salesmanj.nume()setw(12)salesmanj

    19、.nam()setw(14)salesmanj.money()endl; outfileendl; outfile销售额总计: setw(28)salesbosstotalenendl; outfileendl;void backup_SBrank()outfile销售经理按工资排序为:endl; outfileendl;outfile 职工号 姓名 性别 年龄 岗位 工资 -1;n-)outfileendl;outfilesetw(8)salesbossn.nume()setw(8)salesbossn.nam()setw(6)salesbossn.showsex()setw(8)sales

    20、bossn.showage()setw(8)销售经理setw(8)wage1(salesbosstotalen)endl;outfileendl;void backup_technicianinformatian()outfile职工基本情况一览表如下endl;outfile技术员endl;outfileendl;outfile 职工号 姓名 性别 年龄 岗位 工资 endl;for(int k=0;kT;k+)outfileendl;outfilesetw(8)technik.nume()setw(8)technik.nam()setw(6)technik.showsex()setw(8)t

    21、echnik.showage()setw(8)技术员 setw(8)technik.get_wage()endl;outfileendl;void backup_managerinformation()outfile经理endl;outfileendl;outfile 职工号 姓名 性别 年龄 岗位 工资 endl;for(int k=0;kB;k+)outfileendl;outfilesetw(8)bossk.nume()setw(8)bossk.nam()setw(6)bossk.showsex()setw(8)bossk.showage()setw(8) 经理 setw(8)bossk

    22、.managerwage()endl;outfileendl;void backup_salesmanagerinformation()outfile销售经理endl;outfileendl;outfile 职工号 姓名 性别 年龄 岗位 工资 endl;for(int k=0;kSB;k+)outfileendl;outfilesetw(8)salesbossk.nume()setw(8)salesbossk.nam()setw(6)salesbossk.showsex()setw(8)salesbossk.showage()setw(8)销售经理setw(8)wage1(salesboss

    23、totalek)endl; outfileendl;void backup_sellerinformation()outfile销售员endl;outfileendl;outfile 职工号 姓名 性别 年龄 岗位 工资 所属部门经理编号endl;for(int k=0;kS;k+)outfileendl;outfilesetw(8)salesmank.nume()setw(8)salesmank.nam()setw(6)salesmank.showsex()setw(8)salesmank.showage()setw(8)销售员 setw(8)salesmank.get_wage()setw

    24、(16)salesmank.bossnume()endl;outfileendl;outfile.close();/资料备份int main ()for(;)/建立选项表cout 小型公司工资管理系统endl;coutendl;cout 请选择您所需要的操作 endl;cout 数据输入:1,并按回车键 endl;cout 资料统计:2,并按回车键 endl;cout 数据打印:3,并按回车键 endl;cout 资料备份:4,并按回车键 endl;cout 退出系统:5,并按回车键 endl;coutendl;coutselect;/根据序号进行选择操作switch(select)case

    25、1:for(;)/输入数据选项中的子选项cout 小型公司工资管理系统endl; coutendl; cout 请选择您所需要的操作 endl; cout 经理数据输入 :1,并按回车键 endl; cout 技术员数据输入 :2,并按回车键 endl; cout 销售员数据输入 :3,并按回车键 endl; cout 销售经理数据输入:4,并按回车键 endl; cout 返回上一级 :5,并按回车键 endl; coutendl; coutchoice;switch(choice)case 1:Inputboss();b+;break;case 2:Inputtechni();t+; br

    26、eak;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!=

    27、0|s!=0)cout职工基本情况一览表如下endl;if(t!=0)cout技术员endl; technicianinformatian(); coutendl;if(b!=0)cout经理endl; managerinformation(); coutendl;if(sb!=0)cout销售经理endl; salesmanagerinformation(); coutendl;if(s!=0)cout销售员endl; sellerinformation(); coutendl; 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)cout尚未录入销售员数据.endl;if(t=0|b


    注意事项

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922