C++课程设计工资发放系统(共14页)_第1页
C++课程设计工资发放系统(共14页)_第2页
C++课程设计工资发放系统(共14页)_第3页
C++课程设计工资发放系统(共14页)_第4页
C++课程设计工资发放系统(共14页)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上目的与要求 1、目的:(1)要求学生达到熟练掌握C+语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求:(1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制(继承、派生及多态性)来实现系统功能。(3)在系统的设计中,要有清晰的界面设计,同时采用文件进行读写操作。3、创新要求: 在基本要求达到后,可进行创新设计。问题描述及功能要求 某公司按月给其

2、雇员发放工资,该公司有4种雇员:1固定薪金的雇员2 小时工3 销售员4带薪销售员1 固定薪金的雇员:不管工作多长时间,总拿固定周薪;(但如果请假,要扣除相应的薪金,请假次数×每次扣除金额30)2 小时工:以小时计算,加上加班费;(每月基本工作时间为160小时,其余为加班时间)3 销售员:按销售收入提成计算;(每月基本销售额度为30000元,低于此额度,在月薪里扣除少于30000部分的千分之二)4带薪销售员:底薪加上销售收入提成(要求同上,若有请假,也要扣除相应的薪金)如果Employee 生日所在的月份在本月,那么公司会无条件奖励200元具体要求附后问题的解决方案 根据系统功能要求,

3、可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统课程设计报告,并提交课程设计报告及软件到设计报告要求 1封面:(格式附后)2课程设计任务书3课程设计报告: 系统总体方案 设计思路和主要步骤 各功能模块和流程图 设计代码 心得体会和参考资料·· 1楼· 2011-09-01 14:03&#

4、183; |·亮出18CM3要求实现:1 初始化系统创建存储该公司职工信息的存储系统(Employee.dat),并进行职工信息的输入,注意:公司的职工编号由系统按顺序自动生成,并且员工号一旦分配好就不可以再修改!;第一次运行系统,根据系统提示从键盘输入员工的相应信息进行初始化操作,通过退出保存至Employee.dat文件中,若原来存在Employee.dat,则原数据被全部删除。注意测试该文件是否存在!ifstream in(Employee.dat) if(!in)判断以后每次运行程序,初始化时都从文件Employee.dat中读取员工数据即可2 职工信息输出要求可以输出:某类

5、职工当月的薪水发放信息分类输出全体职工当月的薪水发放信息n某一名职工当月的薪水发放信息n格式如下:* 固定薪金职员*编号 姓名 出生年月 工种 奖励薪金 固定月薪 请假天数 应扣 实发工资 是否领取*计时职员*编号 姓名 出生年月 工种 奖励薪金 工作时长 时薪 加班时长 实发工资 是否领取*普通销售员*编号 姓名 出生年月 工种 奖励薪金 销售额 提成比例 应扣 实发工资 是否领取*带薪销售员*编号 姓名 出生年月 工种 奖励薪金 固定月薪 销售额 提成比例 请假天数 应扣 实发工资 是否领取3 添加职工通过键盘输入相应的职工信息,添加职工,并通过退出保存至Employee.dat文件中。4

6、 删除职工通过输入职工的工号,首先输出要删除的职工相应的信息,经确认后删除,考虑职工不存在的情况。并通过退出保存至Employee.dat文件中。5 修改信息要求可以修改:除编号外的所有职工信息,包括工种以及由修改工种带来的各项操作n修改某一类工种的信息,如销售人员的提成比例,统一提高0.05;输出修改前的职工信息, 经确认后修改后,输出修改后的职工信息,考虑职工不存在的情况,并通过退出保存至Employee.dat文件中。6 工资发放通过输入职工号方式,输出查询到的职工相应的信息,经确认发放工资,将员工是否领取工资信息设置为是(即真),考虑所要查询的职工编号不存在和已经发放过工资的情况。7保

7、存退出通过确认,保存修改的信息至文件Employee.dat中,退出系统,结束运行。#include<iostream>#include<string>using namespace std;int N=0;int MONTH=1;int LING=0;int GX_gd_salary=2000;int XSG_sx=10;double XSY_tch=0.05;int DXSY_gd_salary=800;class peopleprivate:int num;char *name;int year,month;int gz;/工种int jiangli;/奖励pub

8、lic:void in_peole(int n,char *na,int y,int m,int g)/修改个人信息num=n;name=new charstrlen(na)+1;strcpy(name,na);year=y;month=m;gz=g;if(m=MONTH)jiangli=200;else jiangli=0;/people()delete *name;int get_num()return num;char get_name()return *name;int get_year()return year;int get_month() return month;int get

9、_gz() return gz;void print()cout<<num<<" "<<name<<" "<<year<<" "<<month<<" "<<gz<<" "<<jiangli<<" "int get_jiangli() return jiangli;/class GX:virtual public people/固定薪金

10、的雇员 1private:int gd_salary; /固定工资int qj;/请假次数int yk_salary; /应扣工资int salary; /实发工资/int lq;/是否领取public:void chushihua()/初始化gd_salary=GX_gd_salary;qj=LING;yk_salary=LING;salary=gd_salary+get_jiangli()-yk_salary;/cout<<"初始化 固定薪金的雇员 1"<<endl;void qingjia()/请假函数qj+;yk_salary=yk_sala

11、ry+30;salary=salary-30;int get_gd_salary() return gd_salary;int get_qj() return qj ;int get_yk_salary() return yk_salary;int get_salary() return salary;/int get_lq() return lq;void print()cout<<gd_salary<<" "<<qj<<" "<<yk_salary<<" "&

12、lt;<salary<<" "/<<lq;/class XSG:virtual public people/小时工 2private:int gz_time;/工作时长int sx;/时薪int jb_time;/加班时长int salary; /实发工资/int lq;/是否领取public:void chushihua()/初始化gz_time=LING;sx=XSG_sx;/时薪jb_time=LING;salary=LING+get_jiangli();/cout<<"初始化 小时工 2"<<

13、endl;void zh_time(int time)/总时间if(time>160)gz_time=160;jb_time=time-160;else gz_time=time;salary=time*sx;int get_gz_time() return gz_time;int get_sx() return sx;int get_salary() return salary;/int get_lq() return lq;void print()cout<<gz_time<<" "<<sx<<" &quo

14、t;<<jb_time<<" "<<salary<<" "/<<lq;/class XSY:virtual public people/销售员 3private:int xse;/销售额double tch;/提成比例int yk_salary; /应扣工资int salary; /实发工资/int lq;/是否领取public:void chushihua()/初始化xse=0;tch=XSY_tch;yk_salary=0;salary=(int)(double)xse*tch)-yk_sa

15、lary+get_jiangli();/cout<<"初始化 销售员 3"<<endl;void xiaoshou(int e)/销售函数xse=e;if(e<30000)yk_salary=e*2/1000;salary=(int)(double)xse*tch)-yk_salary;cout<<xse<<" "<<tch<<" "<<yk_salary<<" "<<salary<<&qu

16、ot; "int get_yk_salary() return yk_salary;int get_xse() return xse;double get_tch() return tch;int get_salary() return salary;/int get_lq() return lq;void print()cout<<xse<<" "<<tch<<" "<<yk_salary<<" "<<salary<<"

17、; "/<<lq;/salary; /class DXSY:virtual public people/带薪销售员 4private:int gd_salary; /固定工资int xse;/销售额double tch;/提成比例int qj;/请假次数int yk_salary; /应扣工资int salary; /实发工资/int lq;/是否领取public:void chushihua()/初始化gd_salary=DXSY_gd_salary;xse=0;tch=XSY_tch;qj=0;yk_salary=0;salary=gd_salary+(int)(do

18、uble)xse*tch)-yk_salary+get_jiangli();/cout<<"初始化 带薪销售员 4"<<endl;void qingjia()/请假函数qj+;yk_salary=yk_salary+30;salary=salary-30;void xiaoshou(int e)/销售函数xse=e;if(e<30000)yk_salary=e*2/1000;salary=salary+(int)(double)xse*tch)-yk_salary;cout<<gd_salary<<" &quo

19、t;<<xse<<" "<<tch<<" "<<qj<<" "<<yk_salary<<" "<<salary<<" "/<<lq;int get_gd_salary() return gd_salary;int get_xse() return xse;double get_tch() return tch;int get_qj() return qj ;int

20、get_yk_salary() return yk_salary;int get_salary() return salary;/int get_lq() return lq;void print()cout<<gd_salary<<" "<<xse<<" "<<tch<<" "<<qj<<" "<<yk_salary<<" "<<salary<<&qu

21、ot; "/<<lq;/class AAA:public GX,public XSG, public XSY,public DXSYprivate:/int jiangli;/奖励int lq;/是否领取public:/int get_jiangli() return jiangli;void qingjia()/请假函数if(get_gz()=1) GX:qingjia();if(get_gz()=4) DXSY:qingjia();void xiaoshou(int e)/销售函数if(get_gz()=3) XSY:xiaoshou(e);if(get_gz()=4

22、) DXSY:xiaoshou(e);void print()/输出函数people:print();if(get_gz()=1) GX:print();if(get_gz()=2) XSG:print();if(get_gz()=3) XSY:print();if(get_gz()=4) DXSY:print();cout<<" "<<lq<<" "<<endl;void lingqian()lq=1;/工资发放void chushihua()GX:chushihua();XSG:chushihua();

23、XSY:chushihua();DXSY:chushihua();lq=0;void menu()/主菜单 cout<<"欢迎使用工资发放系统"<<endl;cout<<"一、 员工信息管理 "<<endl;cout<<"1 初始化系统 2 职工信息输出"<<endl;cout<<"3 添加职工 4 删除职工 "<<endl;cout<<"5 修改信息 6 工资发放 "<<en

24、dl;cout<<" 7请假 8.保存退出"<<endl;cout<<"请输入相应编号:"<<endl;void main()AAA *DX;DX=new AAA10000;for(;1;)menu();int i;cin>>i;switch(i)case 1:for(;1;)N+;char na20;int y, m, g,time,e;char c;cout<<"请输入员工信息"<<endl;cout<<"编号: "

25、<<N<<endl;cout<<"姓名: "<<endl;cin>>na;cout<<"出生年月,年: "<<endl;cin>>y;cout<<"出生年月,月: "<<endl;cin>>m;cout<<"工种: "<<endl;cout<<"1.固定薪金的雇员 2.小时工 3.销售员 4.带薪销售员"<<endl;

26、cout<<"请选择编号"<<endl;cin>>g;DXN-1.in_peole(N,na,y,m,g);DXN-1.chushihua();if(g=1) if(g=2)cout<<"请输入这个月总的工作间: "<<endl;cin>>time;DXN-1.zh_time(time);if(g=3)cout<<"请输入这个月总的销售额: "<<endl;cin>>e;DXN-1.xiaoshou(e);if(g=4)cout

27、<<"请输入这个月总的销售额: "<<endl;cin>>e;DXN-1.xiaoshou(e);cout<<"是否继续输入 Y确认 N取消"<<endl;cin>>c;if(c='Y')elsebreak;break;case 2:cout<<"* 固定薪金职员*"<<endl;cout<<"编号 姓名 出生年月 工种 奖励薪金 固定月薪 请假天数 应扣 实发工资 是否领取"<<

28、endl;for(int a=0; a<=N; a+)if(DXa.get_gz()=1) DXa.print();cout<<"*计时职员* "<<endl;cout<<"编号 姓名 出生年月 工种 奖励薪金 工作时长 时薪 加班时长 实发工资 是否领取 "<<endl;for(int b=0;b<=N ; b+)if(DXb.get_gz()=2) DXb.print();cout<<"*普通销售员* "<<endl;cout<<&qu

29、ot;编号 姓名 出生年月 工种 奖励薪金 销售额 提成比例 应扣 实发工资 是否领取"<<endl;for(int c=0;c<=N ; c+)if(DXc.get_gz()=3) DXc.print();cout<<"*带薪销售员*"<<endl;cout<<"编号 姓名 出生年月 工种 奖励薪金 固定月薪 销售额 提成比例 请假天数 应扣 实发工资 是否领取"<<endl;for(int d=0;d<=N ; d+)if(DXd.get_gz()=4) DXd.pri

30、nt();break;case 3:for(;1;)N+;char na20;int y, m, g,time,e;char c;cout<<"请输入员工信息"<<endl;cout<<"编号: "<<N<<endl;cout<<"姓名: "<<endl;cin>>na;cout<<"出生年月,年: "<<endl;cin>>y;cout<<"出生年月,月: &q

31、uot;<<endl;cin>>m;cout<<"工种: "<<endl;cout<<"1.固定薪金的雇员 2.小时工 3.销售员 4.带薪销售员"<<endl;cout<<"请选择编号"<<endl;cin>>g;DXN-1.in_peole(N,na,y,m,g);DXN-1.chushihua();if(g=1) if(g=2)cout<<"请输入这个月总的工作间: "<<end

32、l;cin>>time;DXN-1.zh_time(time);if(g=3)cout<<"请输入这个月总的销售额: "<<endl;cin>>e;DXN-1.xiaoshou(e);if(g=4)cout<<"请输入这个月总的销售额: "<<endl;cin>>e;DXN-1.xiaoshou(e);cout<<"是否继续输入 Y确认 N取消"<<endl;cin>>c;if(c='Y')elsebreak;b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论