(管理知识)小型公司的工资管理系统实训报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象实训报告
----题目:小型公司的工资管理系统
指导老师:xxx
学生姓名:xxx
班级:计Yxxx
学号:xxxxxxxxxxx
时间:xxxx年x月x日
目录
一、实训内容与目的-------------------------------------------2
二、设计分析----------------------------------------------------3
三、执行结果和结果分析-------------------------------------23
四、实训总结--------------------------------------------------- 27
一、实训内容:
小型公司的工资管理
设计任务
编写一个小型公司的工资管理程序。该公司主要有4类人员:经理、兼职技术人员、销售员和销售经理。其中月薪计算方法为:经理固定月薪8000元,兼职技术如愿100元/小时,销售员为当月销售额的4%,销售经理保底工资5000元另加所管部门销售额的5‰。
设计要求
(1)职工编号自动产生(从1000起编号)。
(2)将公司人员的编号、姓名和月薪等信息保存在文件中,然后从文件中读入这些信息并显示。如果访问文件失败,采用异常处理机制解决。
(3)设计输入,输出的界面。(成绩为优良,需采用MFC方式。若设计困难可以使用DOS方式)
二、设计分析:
(1)类的定义:
1、“employee.h”
#include
#include
#include
#include
#include
#include
class employee
{
public:
employee(){};
double gerno();
char *getname();
char *gerpost();
double getsalary();
virtual double pay()=0;
employee(double n,char mingzi[20],double s)
{
number=n;
strcpy(name,mingzi);
income=s;
}
~employee(){};
protected:
double number;
char name[20];
char post[20];
double income;
};
class Technician: public employee
{
protected:
double hour;
double per;
public:
double Set_hour();
double pay();
};
class Saleman:virtual public employee
{
protected:
double salary;//销售额
public:
void sale();
double pay();
};
class Manager:virtual public employee
{
protected:
public:
double pay();
};
class Salesmanager:virtual public Manager,virtual public Saleman {
public:
double pay();
};
struct person
{
int gonghao;
char xingming[20];
char zhiwei[20];
float shouru;
float xiaoshi;
};
void saverenshu();
int readrenshu();
void deletgon(int x);
void deletname(int x);
void read(int x);
void xiugai_all(int x);
void savetech(int x,char *y,char *z,float e,float ho);
void save(int x,char *y,char *z,float e);
(2)”change.cpp”
#include"employee.h"
int k;
void save(int x,char *y,char *z,float e) //保存文件
{
struct person a;
a.gonghao=x;
strcpy(a.xingming,y);
strcpy(a.zhiwei,z);
a.shouru=e;
cout<<"工号:"< fstream cun; cun.open("保存人员.txt",ios::app|ios::out); if(!cun) { cout <<"cannot open file"< } cun< cun< cun< cun< cun.close(); } void savetech(int x,char *y,char *z,float e,float ho) //专用于技术员的保存 { struct person a; a.gonghao=x; strcpy(a.xingming,y); strcpy(a.zhiwei,z); a.shouru=e; a.xiaoshi=ho; cout<<"工号:"< fstream cun; cun.open("保存人员.txt",ios::app|ios::out); if(!cun)