(管理知识)小型公司的工资管理系统实训报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档