C++语言课程设计人事管理系统Word文件下载.docx

上传人:b****6 文档编号:19568039 上传时间:2023-01-07 格式:DOCX 页数:10 大小:66.30KB
下载 相关 举报
C++语言课程设计人事管理系统Word文件下载.docx_第1页
第1页 / 共10页
C++语言课程设计人事管理系统Word文件下载.docx_第2页
第2页 / 共10页
C++语言课程设计人事管理系统Word文件下载.docx_第3页
第3页 / 共10页
C++语言课程设计人事管理系统Word文件下载.docx_第4页
第4页 / 共10页
C++语言课程设计人事管理系统Word文件下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

C++语言课程设计人事管理系统Word文件下载.docx

《C++语言课程设计人事管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++语言课程设计人事管理系统Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。

C++语言课程设计人事管理系统Word文件下载.docx

根据要求查找已有人员信息;

4、显示功能:

显示所存信息的内容。

三、程序运行环境

Visualc++6.0

四、系统总框架图

五、程序类的说明

六、源程序

//pengfuyuan.cpp

#include<

iostream.h>

#include"

employee.h"

intmain()

{

managerm1;

techniciant1;

salesmanagersm1;

salesmans1;

employee*emp[4]={&

m1,&

t1,&

sm1,&

s1};

//用指针数组的个元素存放各对象的地址

inti;

for(i=0;

i<

4;

i++)

{/*依次调用各派生类对象的成员函数,完成各自不同的升级、

计算月薪、显示信息功能。

*/

emp[i]->

promote();

pay();

displayStatus();

}

return0;

}

//employee.h

classemployee

protected:

char*name;

//姓名

intindividualEmpNo;

//个人编号

intgrade;

//级别

floataccumPay;

//月薪总额

staticintemployeeNo;

//本公司职员编号目前最大值

public:

employee();

//构造函数

~employee();

//析构函数

virtualvoidpay()=0;

//计算月薪函数(纯虚函数)

virtualvoidpromote(intincrement=0);

//升级函数(虚函数)

virtualvoiddisplayStatus()=0;

//显示人员信息(纯虚函数)

};

classtechnician:

publicemployee//兼职技术人员类

private:

floathourlyRate;

//每小时酬金

intworkHours;

//当月工作时数

technician();

voidpromote(int);

//升级函数

voidpay();

//计算月薪函数

voiddisplayStatus();

//显示人员信息

classsalesman:

virtualpublicemployee//兼职推销员类

floatCommRate;

//按销售额提取酬金的百分比

floatsales;

//当月销售额

salesman();

//升级函数

classmanager:

virtualpublicemployee//经理类

floatmonthlyPay;

//固定月薪数

manager();

classsalesmanager:

publicmanager,publicsalesman//销售经理类

salesmanager();

//empfunc.cpp

string.h>

intemployee:

:

employeeNo=1000;

//员工编号基数为1000

employee:

employee()

charnamestr[50];

//输入雇员姓名时首先临时存放在namestr中

cout<

<

"

请输下一个入雇员的姓名:

;

cin>

>

namestr;

name=newchar[strlen(namestr)+1];

//动态申请用于存放姓名的内存空间

strcpy(name,namestr);

//将临时存放的姓名复制到name

individualEmpNo=employeeNo++;

//新输入的员工,其编号为目前最大编号加1

grade=1;

//级别初值为1

accumPay=0.0;

//月薪总额初值为0

~employee()

deletename;

//在析构函数中删除为存放姓名动态分配的内存空间

voidemployee:

promote(intincrement)

grade+=increment;

//升级,提升的级数由increment指定

technician:

technician()

hourlyRate=100;

//每小时酬金100元

voidtechnician:

promote(int)

employee:

promote

(2);

//调用基类的升级函数,升2级

pay()

请输入"

name<

本月的工作时数:

workHours;

accumPay=hourlyRate*workHours;

//计算月薪,按小时计酬

兼职技术人员"

编号"

individualEmpNo

<

本月工资"

accumPay<

endl;

displayStatus()

级别为"

grade<

级,已付本月工资"

salesman:

salesman()

CommRate=0.04;

//销售提成比例4%

voidsalesman:

promote(0);

//调用基类的升级函数,升0级

本月的销售额:

sales;

accumPay=sales*CommRate;

//月薪=销售提成

推销员"

manager:

manager()

monthlyPay=8000;

//固定月薪8000元

voidmanager:

promote(3);

//调用基类的升级函数,升3级

accumPay=monthlyPay;

//月薪总额即固定月薪数

经理"

salesmanager:

salesmanager()

monthlyPay=5000;

CommRate=0.005;

voidsalesmanager:

//调用基类的升级函数,升2级

所管辖部门本月的销售总额:

accumPay=monthlyPay+CommRate*sales;

//月薪=固定月薪+销售提成

销售经理"

七、模块分析

1、添加模块

系统提示用户输入职员的新信息,插入链表

2、修改模块

用户输入要修改的职员姓名代号,系统用修改函数查找,显示该名职员的信息,然后

提示用户输入新的信息

3、查找模块

用户输入要查找的职员姓名代号,系统用查找函数查找然后调用输出函数,输出所查找职员信息,包括月薪等

4、显示模块

输出所有职员资料,包括工作时间,月薪等

八、特色函数

voidtechnician:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1