工资管理系统源代码 下载本文

employee::~employee () {}

void employee::SetName (char* tname) { strcpy(name,tname); }

void employee::SetId (int tid) { id=tid; }

void employee::SetBasicPay (double tbp) { bp=tbp; }

void employee::SetBonus (double tbo) { bo=tbo; }

char* employee::GetName () { return name; }

int employee::GetId () { return id; }

double employee::GetBasicPay () { return bp; }

double employee::GetBonus () { return bo; }

double employee::GetTax () // 缴税为基本工资的5% { return bp*0.05; }

double employee::GetAccumPay () // 实发工资=基本工资+奖金-缴税 { return bp+bo-ta; }

// ************************************************************************ // 管理界面类定义 class EMM {

private:

employee Array[100]; int n; // 员工人数

void InfEmployee (int count); // 显示员工基本信息 public:

EMM (); // 构造函数 ~EMM (); // 析构函数

void AddEmployee (); // 增加新员工 void DeleteEmployee (); // 删除员工 void IndexEmployee (); // 查询员工

void OutputEmployee (); // 打印员工信息 }; // ------------------------------------------------------------------------- // 管理界面的实现 EMM::EMM () { n=0; } EMM::~EMM ()

{}

void EMM::AddEmployee () // 增加新员工 {

char tname[20]; int tid;

double tbp,tbo;

cin >> tname >> tid >> tbp >> tbo; if(n>=50)

cout << \增加员工信息失败!\\n\ else {

Array[n].SetName (tname); Array[n].SetId (tid);

Array[n].SetBasicPay (tbp); Array[n].SetBonus (tbo); } ++n; }

void EMM::DeleteEmployee () // 删除员工 {

int tid; char ch;

cout << \请输入待删除员工的工号: \ cin >> tid;

for (int j = 0; j < n; j++) if (tid == Array[j].GetId()) {

InfEmployee (j);

cout << \请确认是否删除该员工 y/n ? : \ cin >> ch;

if (ch == 'Y' || ch == 'y') {

--n;

cout << \工号\的员工已被删除!\ }

goto loop; }

cout << \该员工\不存在!\ loop:; }

void EMM::IndexEmployee () // 查询员工 {

int i, j, tid; char tname[20];

cout << \请选择查询方式:1、工号 2、姓名 :\ cin >> i; if (i == 1) {

cout << \请输入待查找的员工的工号:\ cin >> tid;

for (j = 0; j < n; j++)

if (tid == Array[j].GetId()) {

InfEmployee (j); goto loop; } }

if (i == 2) {

cout << \请输入待查找的员工的姓名:\ cin >> tname;

for( j = 0; j < n; j++)

if (strcmp(tname,Array[j].GetName()) == 0) {

InfEmployee (j); goto loop; } }

cout << \该员工不存在!\ loop: ; }

void EMM::OutputEmployee () // 打印员工信息 {

cout << \所有员工信息列表:\

cout << \姓名\\t工号\\t基本工资\\t奖金\\t缴税\\t实发工资\ for (int i = 0; i < n; i++) {

cout << Array[i].GetName() << '\\t' << Array[i].GetId() << '\\t';

cout << Array[i].GetBasicPay() << \ cout << Array[i].GetTax() << '\\t' << Array[i].GetAccumPay() <

void EMM::InfEmployee (int count) {

cout << \姓名: \ cout << \工号: \

cout << \基本工资: \ cout << \奖金: \

cout << \缴税: \

cout << \实发工资: \ }

// ********************************************************************* // 界面信息 void Infor ()

{ cout << \欢迎使用数学计算机学院教师工资管理系统===\ cout << \:增加新员工\ cout << \:删除员工\ cout << \:查询员工\

cout << \:打印员工信息 \ cout << \:退出系统\

cout << \请选择您的功能操作:\ }

// --------------------------------------------------------------------- int main() {

EMM a;

int i=0, c=1;

while (1) {

Infor(); cin >> i;

system(\ cout << endl; switch(i) {

case 0: int count;

cout << \请输入要添加新员工的人数n: \ cin >> count;

cout << \序号 姓名 工号 基本工资 奖金\ while (count--) {

cout << \ a.AddEmployee(); ++c; }

cout << \成功增加员工信息!\\n\ break; case 1:

a.DeleteEmployee(); break;

case 2:

a.IndexEmployee(); break; case 3:

a.OutputEmployee(); break; case 4: exit(1); break; default:

cout << \选择错误!\ break; }

system(\ system(\ }

return 0; }