1、C+仓库管理系统employee.h employee(员工)的类声明头文件employee.cpp 包含employee类的实现代码Salesman.h Salesman(售货员)的类声明头文件Salesman.cpp 包含Salesman类的实现代码Warehouseman.h warehouseman(库管员)的类声明头文件Warehouseman.cpp 包含Warehouseman类的实现代码manager.h manager (经理)的类声明头文件manager.cpp 包含manager类的实现代码EmployeeList.h EmployeeList类(员工链表)的类声明头文件
2、EmployeeList.cpp 包含EmployeeList类的实现代码main.cpp 主程序/*/ employee.h */*#ifndef H_EMPLOYEE#define H_EMPLOYEEclass employee /基类(员工) private: int number; /员工编号 char Address100; /家庭地址protected: char name30; /员工姓名 float fixedSalary; /固定工资 float MonthSalary; /月薪 public: employee(); /构造函数,录入员工个人信息 void ShowInf
3、or(); /显示员工个人及工资信息 void RecordInfor(char * pInfBuffer); /将个人信息写入缓冲区 /获得工作类别 virtual char * GetWorkStyle() = 0 ;/计算员工工资的虚函数,因为只提供一个统一的接口,所以不需要添加任何实际的代码 virtual void CountSalary()=0;#endif/*/ employee.cpp */*#include employee.h#include iostream.h#include stdio.h/构造函数,录入员工个人信息 employee:employee() coute
4、ndl; /录入员工姓名 coutname; /录入员工编号 coutnumber; /检查员工编号,保证编号正确 while ( number9999 ) cout endl number; /录入家庭地址 coutAddress; /默认初始月薪为零 MonthSalary = 0.0;/显示员工个人及工资信息void employee:ShowInfor() coutendl; /显示员工姓名 cout员工姓名: nameendl; /显示员工编号 cout员工编号: numberendl; /显示家庭地址 cout家庭地址: Addressendl; /显示工作类别 cout工作类别:
5、 GetWorkStyle()endl; /显示月薪 if (MonthSalary = 0.0) cout月薪: 尚未计算endl; else cout月薪: MonthSalaryendl; ;/将个人信息写入缓冲区void employee:RecordInfor(char * pInfBuffer) int j; j = sprintf(pInfBuffer , 员工姓名:%srn,name); j += sprintf(pInfBuffer + j,员工编号:%drn,number); j += sprintf(pInfBuffer + j,家庭地址:%srn,Address); j
6、 += sprintf(pInfBuffer + j,工作类别:%srn,GetWorkStyle(); if (MonthSalary = 0.0) j += sprintf(pInfBuffer + j,月薪: 尚未计算rnrn); else j += sprintf(pInfBuffer + j,月薪: %frnrn,MonthSalary); /*/ Salesman.h */*#ifndef H_SALESMAN#define H_SALESMAN#include employee.h/售货员类class Salesman : public employee private: flo
7、at saleSum; /售货员的销售额 float getRate; /售货员的提成比率 public: Salesman(); /构造函数,录入售货员个人信息 char * GetWorkStyle(); /获得工作类别 void CountSalary(); /计算售货员的工资 ;#endif/*/ Salesman.cpp */*#include Salesman.h#include iostream.h/构造函数,录入售货员个人信息Salesman:Salesman() coutendl; /录入售货员的固定月薪 coutfixedSalary; /录入售货员的当月销售额 coutg
8、etRate; /获得工作类别char * Salesman:GetWorkStyle() return 售货员;/计算售货员的工资void Salesman:CountSalary() /得到售货员的当月销售额 cout请输入售货员name的当月销售额saleSum; /工资固定工资营业额提成比率 MonthSalary = fixedSalary + saleSum * getRate; /*/ warehouseman.h */*#ifndef H_WAREHOUSEMAN#define H_WAREHOUSEMAN#include employee.h/库管员类class Wareho
9、useman : public employee private: float bonus; /库管员的奖金 public: Warehouseman(); /构造函数,录入库管员个人信息 char * GetWorkStyle(); /获得工作类别 void CountSalary(); /计算库管员的工资 ;#endif/*/ warehouseman.cpp */*#include Warehouseman.h#include iostream.h/构造函数,录入库管员个人信息Warehouseman:Warehouseman() coutendl; /录入库管员的固定月薪 coutfi
10、xedSalary; /获得工作类别char * Warehouseman:GetWorkStyle() return 库管员; /计算库管员的工资void Warehouseman:CountSalary() /得到库管员的当月奖金 cout请输入库管员name的当月奖金bonus; /工资固定工资当月奖金 MonthSalary = fixedSalary + bonus;/*/ Manager.h */*#ifndef H_MANAGER#define H_MANAGER#include Employee.h/经理类class Manager : public Employee priv
11、ate: float OfficeExpense;/经理的办公费用 public: Manager(); /构造函数,录入经理个人信息 char * GetWorkStyle(); /获得工作类别 void CountSalary(); /计算经理的工资 ;#endif/*/ Manager.cpp */*#include Manager.h#include iostream.h/构造函数,录入经理个人信息Manager:Manager() coutendl; /录入经理的固定月薪 cout 请输入经理的固定月薪:fixedSalary; /获得工作类别char * Manager:GetWorkStyle() return 经理;/计算经
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1