职工工资管理系统.docx

上传人:b****3 文档编号:3851012 上传时间:2022-11-25 格式:DOCX 页数:28 大小:133.51KB
下载 相关 举报
职工工资管理系统.docx_第1页
第1页 / 共28页
职工工资管理系统.docx_第2页
第2页 / 共28页
职工工资管理系统.docx_第3页
第3页 / 共28页
职工工资管理系统.docx_第4页
第4页 / 共28页
职工工资管理系统.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

职工工资管理系统.docx

《职工工资管理系统.docx》由会员分享,可在线阅读,更多相关《职工工资管理系统.docx(28页珍藏版)》请在冰豆网上搜索。

职工工资管理系统.docx

职工工资管理系统

河南城建学院

《面向对象程序设计》课程设计

设计说明书

 

课程名称:

《面向对象程序设计》课程设计

设计题目:

职工工资管理系统

指导教师:

班级:

学号:

学生姓名:

同组人员:

 

计算机科学与工程系

2011年6月23

 

目录

第1章选题3

1.1题目背景3

1.2选题3

1.3开发环境3

第2章设计内容3

2.1实现功能3

2.2概要设计(涉及类的框图)4

2.3界面设计4

第3章系统实现4

3.1涉及知识点4

3.2系统运行(主要运行界面抓图)4

3.3源程序清单(类代码)7

第4章结束语10

参考文献10

 

第1章选题

1.1题目背景

随着信息时代的到来和全社会信息化、网络化建设的兴起,实现工资的智能化、系统化、网络化、信息化管理势在必行。

1.2选题

系统分为销售员类、兼职技术人员类、经理类、销售经理类以及主函数等几大模块。

数据的输入及处理、编辑、管理、查询(按姓名,编号,职业,对应员工工资分布情况查询)数据输入的-------输入员工的信息,包括职业,姓名,编号及对应的工资处理数据,系统会进行处理。

查询-------根据题意,按照姓名、编号、职业、对应员工工资分布情况进行查询

main()函数实现对程序主界面的引导。

1.3开发环境

编程工具:

VisualC++6.0

第2章设计内容

2.1实现功能

系统主要包括员工信息的输入、查询、删除、修改、保存和退出等功能。

用户只需先进入系统,输入员工信息就可以进行一系列的操作了。

2.2概要设计(涉及类的框图)

2.3界面设计

界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。

结构设计也称概念设计(ConceptualDesign),是界面设计的骨架。

该工资管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1添加员工及工资计算2按姓名查询3按编号查询4按职业查询5对应职业员工工资分布情况查询6输出所有员工的工资0退出系统而添加员工及工资目录下1销售员2兼职技术人员3经理4销售经理0退出添加。

第3章系统实现

3.1涉及知识点

类封装、面向对象程序设计、数组的应用、循环语句的使用、过程化设计的思想等。

3.2系统运行(主要运行界面抓图)

3-1程序主界面

3-2添加成员与工资计算

3-3按编号查询

3-4按职业查询

3-5按对应职业员工分布情况查询

 

3-6输出所有员工工资

3.3源程序清单(类代码)

#include

#include

#include

#include

classemployee

{

protected:

intno;

charname[20];

floatsalary;

public:

employee()

{

cout<<"职工编号:

";

cin>>no;

cout<<"职工姓名";

cin>>name;

salary=0;

}

virtualvoidpay()=0;

virtualvoiddisplay()=0;

friendvoidadd();//添加员工及工资计算

friendvoidvisitname();//按姓名查询

friendvoidvisitnum();//按标号查询

friendvoidvisitprofession();//按职业查询

friendvoidsearchpay();//对应员工工资分布情况查询

friendvoidoutpay();

~employee(){};

};

classtechnician:

publicemployee

{

private:

floathourlyrate;

intworkhours;

public:

technician()

{

hourlyrate=100;

}

voidpay()

{

cout<

";

cin>>workhours;

salary=hourlyrate*workhours;

}

voiddisplay()

{

cout<<"兼职技术人员"<

"<

}

friendvoidadd();//添加员工及工资计算

friendvoidvisitname();//按姓名查询

friendvoidvisitnum();//按标号查询

friendvoidvisitprofession();//按职业查询

friendvoidsearchpay();//对应员工工资分布情况查询

friendvoidoutpay();

~technician(){};

};

classsalesman:

virtualpublicemployee

{

protected:

floatcommrate;

floatsales;

public:

salesman()

{

commrate=0.4;

}

voidpay()

{

cout<

";

cin>>sales;

salary=sales*commrate;

}

voiddisplay()

{

cout<<"销售员"<

"<

}

friendvoidadd();//添加员工及工资计算

friendvoidvisitname();//按姓名查询

friendvoidvisitnum();//按标号查询

friendvoidvisitprofession();//按职业查询

friendvoidsearchpay();//对应员工工资分布情况查询

friendvoidoutpay();

~salesman(){};

};

classmanager:

virtualpublicemployee

{

protected:

floatmonthlypay;

public:

manger()

{

monthlypay=8000;

}

voidpay()

{

salary=8000;

}

voiddisplay()

{

cout<<"经理"<

"<

}

friendvoidadd();//添加员工及工资计算

friendvoidvisitname();//按姓名查询

friendvoidvisitnum();//按标号查询

friendvoidvisitprofession();//按职业查询

friendvoidsearchpay();//对应员工工资分布情况查询

friendvoidoutpay();

~manager(){};

};

classsalesmanager:

publicmanager,publicsalesman

{

public:

salemanager()

{

monthlypay=5000;

commrate=0.05;

}

voidpay()

{

cout<

cin>>sales;

salary=5000+commrate*sales;

}

voiddisplay()

{

cout<<"销售经理"<

"<

}

friendvoidadd();//添加员工及工资计算

friendvoidvisitname();//按姓名查询

friendvoidvisitnum();//按标号查询

friendvoidvisitprofession();//按职业查询

friendvoidsearchpay();//对应员工工资分布情况查询

friendvoidoutpay();//答应员工工资

~salesmanager(){};

};

intoption,flag,i,no,k;

floatsalary;

charname[20];

fstreamoutfile;

manager*m[50];

technician*t[50];

salesman*s[50];

salesmanager*sm[50];

intmnum=0,tnum=0,smnum=0,snum=0,j=0,profession=0;

voidadd();//添加员工及工资计算

voidvisitname();//按姓名查询

voidvisitnum();//按标号查询

voidvisitprofession();//按职业查询

voidsearchpay();//对应员工工资分布情况查询

voidoutpay();

voidmain()

{

cout<<"请选择您需要的操作!

"<

cout<<"\t\t\t*****************************"<

cout<<"\t\t\t**企业职工工资计算及管理系统**"<

cout<<"\t\t\t*****************************"<

cout<<"\t\t\t*****************************"<

cout<<"\t\t\t**1、添加员工及工资计算**"<

cout<<"\t\t\t**2、按姓名查询 **"<

cout<<"\t\t\t**3、按标号查询**"<

cout<<"\t\t\t**4、按职业查询**"<

cout<<"\t\t\t**5、对应职业员工工资分布情况查询**"<

cout<<"\t\t\t**6、输出所有员工的工资**"<

cout<<"\t\t\t**0、退出系统**"<

cout<<"\t\t\t*****************************"<

cout<<"选择0-7数字进行操作"<

cin>>option;

outfile.open("text",ios:

:

out);

if(!

outfile)

{

cout<<"textcan'topen"<

exit

(1);

}

while(option!

=0)

{

switch(option)

{

case1:

//添加员工及工资计算

{

add();

break;

}

case2:

//按姓名查查询

{

visitname();

break;

}

case3:

//按标号查询

{

visitnum();

break;

}

case4:

//按职业查询

{

visitprofession();

break;

}

case5:

//对应员工工资分布情况查询

{

searchpay();

break;

}

case6:

{

outpay();

break;

}

}

cout<<"请输入操作代码(1添加员工及工资计算/2按姓名查询/3按编号查询/4按职业查询5/对应职业员工工资分布情况查询/6输出所有员工的工资/0退出系统)"<

cin>>option;

}

outfile.close();

}

voidadd()

{

flag=1;

while(flag!

=0)

{

cout<<"员工身份:

1:

销售员2:

兼职技术人员3:

经理4:

销售经理0:

退出添加请选择"<

cin>>flag;

switch(flag)

{

case2:

{

t[tnum]=newtechnician;

t[tnum]->pay();

t[tnum]->display();

outfile<<"兼职技术人员"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

tnum++;

j++;

break;

}

case1:

{

s[snum]=newsalesman;

s[snum]->pay();

s[snum]->display();

outfile<<"销售员"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

snum++;

j++;

break;

}

case3:

{

m[mnum]=newmanager;

m[mnum]->pay();

m[mnum]->display();

outfile<<"经理"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

mnum++;

j++;

break;

}

case4:

{

sm[smnum]=newsalesmanager;

sm[smnum]->pay();

sm[smnum]->display();

outfile<<"销售经理"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

smnum++;

j++;

break;

}

}

}

}

voidvisitname()

{

cout<<"请输入要查询的姓名:

";

cin>>name;

intsign[4]={0};

for(i=0;i

{

if(strcmp(s[i]->name,name)==0)

{

cout<<"销售员"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

break;

}

}

if(i

return;

else

sign[0]=1;

for(i=0;i

{

if(strcmp(t[i]->name,name)==0)

{

cout<<"兼职技术人员"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

break;

}

}

if(i

return;

else

sign[1]=1;

for(i=0;i

{

if(strcmp(m[i]->name,name)==0)

{

cout<<"经理"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

break;

}

}

if(i

return;

else

sign[2]=1;

for(i=0;i

{

if(strcmp(sm[i]->name,name)==0)

{

cout<<"销售经理"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

break;

}

}

if(i

return;

else

sign[3]=1;

if(sign[0]&&sign[1]&&sign[2]&&sign[3])

{

cout<<"该人不存在,请确认!

"<

}

}

voidvisitnum()//按编号查询

{

cout<<"请输入要查询编号:

";

cin>>no;

intsign[4]={0};

for(i=0;i

{

if(s[i]->no==no)

{

cout<<"销售员"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

break;

}

}

if(i

return;

else

sign[0]=1;

for(i=0;i

{

if(t[i]->no==no)

{

cout<<"兼职技术人员"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

break;

}

}

if(i

return;

else

sign[1]=1;

for(i=0;i

{

if(m[i]->no==no)

{

cout<<"经理"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

break;

}

}

if(i

return;

else

sign[2]=1;

for(i=0;i

{

if(sm[i]->no==no)

{

cout<<"销售经理"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

break;

}

}

if(i

return;

else

sign[3]=1;

if(sign[0]&&sign[1]&&sign[2]&&sign[3])

{

cout<<"该人不存在,请确认!

"<

}

}

voidvisitprofession()//按职业查询

{

cout<<"请选择要查询的职业";

cout<<"1:

销售员2:

兼职技术人员3:

经理4:

销售经理"<

cin>>profession;

switch(profession)

{

case1:

{

if(snum==0)

{

cout<<"无销售人员信息,请确认!

"<

}

else

{

cout<<"销售人员信息如下:

"<

for(i=0;i

{

cout<<"销售员"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

}

}

break;

}

case2:

{

if(tnum==0)

{

cout<<"无兼职技术人员信息,请确认!

"<

}

else

{

cout<<"兼职技术人员信息如下:

"<

for(i=0;i

{

cout<<"兼职技术人员"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

}

}

break;

}

case3:

{

if(mnum==0)

{

cout<<"无经理人员信息,请确认!

"<

}

else

{

cout<<"经理人员信息如下:

"<

for(i=0;i

{

cout<<"经理"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

}

}

break;

}

case4:

{

if(smnum==0)

{

cout<<"无销售经理信息,请确认!

"<

}

else

{

cout<<"销售经理信息如下:

"<

for(i=0;i

{

cout<<"销售经理"<name<<"(编号为"<no<<")"<<"本月工资:

"<salary<

}

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

当前位置:首页 > 工程科技 > 能源化工

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

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