小型公司工资管理系统报告(共29页).doc

上传人:飞****2 文档编号:14395137 上传时间:2022-05-04 格式:DOC 页数:29 大小:44KB
返回 下载 相关 举报
小型公司工资管理系统报告(共29页).doc_第1页
第1页 / 共29页
小型公司工资管理系统报告(共29页).doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《小型公司工资管理系统报告(共29页).doc》由会员分享,可在线阅读,更多相关《小型公司工资管理系统报告(共29页).doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 中国石油大学(华东)信息与控制工程学院 程序设计实习报告 小型公司工资管理系统的设计与实现 专业班级: 学 号: 姓 名: 起止日期: 指导老师: 2010年8月 fengzhanhuaer 小型公司工资管理系统 第 2 页 目录 一、实习目的3 二、实习内容3 1. 设计说明与要求3 2. 程序类体3 3. 流程图4 4. 程序代码4 三、设计思路38 四、输出格式39 2 fengzhanhuaer 小型公司工资管理系统 第 3 页 一、实习目的 1、熟悉c+中类的概念,类的封装,继承和多态的实现方式。 2、了解系统开发的需求分析,类层次设计,模块分析,编码测试

2、,模块组 装和与整体调试的全过程。 3、逐步熟悉程序设计的方法,并养成良好的编程习惯。 二、实习内容 1、设计说明与要求: (1)说明: 公司主要有4类人员:经理,技术员,销售员,销售经理。要求存储这些人的职工号,姓名,月工资,岗位,年龄,性别等信息。 工资的计算方法: 经理:固定月薪为8000; 技术员:工作时间*小是工资(100元每小时); 销售员:销售额*4%提成; 销售经理:底薪(5000)+所辖部门销售额总额*0.5%; (2)要求: a输入数据要求每类人员不能少于4人,并按统一格式输出格式输出; b实现的功能: (1)数据录入:用键盘输入各类员工的数据; (2)数据统计:统计各销售

3、经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡排序; (3)数据打印:按表格格式打印各类员工的数据信息; (4)数据备份:把各类员工的数据信息写入文本中保存; (5)退出:退出本系统,结束程序的运行; 2、程序的类体: 雇员类 技术员类 经理类 销售员类销售经理类 3 fengzhanhuaer 小型公司工资管理系统 第 4 页 3、流程图 开始 主函数 输入i i=4备份 i=1录入 i=2统计 i=3打印 i=5退出 输入i i=1 i=2 i=3 i=4 i=5 jsy类 xsy类 xsjl类 jl类 返回 结束 4 、程序代码 Main.cpp文件: #include #i

4、nclude #include #include功能函数.h using namespace std; void main() 4 fengzhanhuaer 小型公司工资管理系统 第 5 页 int z;z=0; int flag=1,operate; do cout 小型公司工资管理系统n; cout n; cout 请选择您所需的操作 n; cout 数据输入:1,并按回车键 n; cout 数据统计:2,并按回车键 n; cout 数据打印:3,并按回车键 n; cout 数据备份:4,并按回车键 n; cout 退出系统:5,并按回车键 n; cout n; coutoperate;

5、 switch(operate) case 1: cout请输入数据:endl; cout正在输入数据.endl; set (z); break; case 2: cout请等待.endl; if(z=0) 5 fengzhanhuaer 小型公司工资管理系统 第 6 页 cout 警告!操作无法完成!请先输入员工信息!aendl;/新增了录入错误警告功能,且发出响铃.防止错误操作 break; cout正在进行数据统计.endl; count(); break; case 3: cout请等待.endl; if(z=0) cout 警告!操作无法完成!请先输入员工信息!aendl; brea

6、k; cout正在进行数据打印.endl; output(); ; break; case 4: cout请等待.endl; if(z=0) 6 fengzhanhuaer 小型公司工资管理系统 第 7 页 cout 警告!操作无法完成!请先输入员工信息!aendl; break; cout正在进行数据备份.endl; backup(); break; case 5: exit(0); break; default: cout错误!请重新选择1-5间的数输入aendlendl; break; while(1); cout退出菜单,回到主程序继续向下执行endl; 功能函数.h文件 #inclu

7、de类体.h #include using namespace std; jsy a2; xsjl b2; jl c2; 7 fengzhanhuaer 小型公司工资管理系统 第 8 页 xsy d4; int set(int &x) int i; do cout 小型公司工资管理系统endl; endl; cout 请选择您所需要的操作 endl; cout 经理数据输入 : 1,并按回车键 endl; cout 技术员数据输入 : 2,并按回车键 endl; cout 销售员数据输入 : 3,并按回车键 endl; cout 销售经理数据输入: 4,并按回车键 endl; cout 返回上

8、一层 : 5,并按回车 endl; cout endl; cout couti; switch(i) case 1: int k; k=0; while(k2) ck.input4(); k+; 8 fengzhanhuaer 小型公司工资管理系统 第 9 页 break; case 2: int j; j=0; while(j2) aj.input1(); j+; break; case 3: int l; l=0; while(l4) dl.input3(); l+; int m,n,a; for(n=0;n2;n+) a=0; for(m=0;m4;m+) if(d0.onum2()=b

9、n.onum() 9 fengzhanhuaer 小型公司工资管理系统 第 10 页 a=d0.osell()+a; bn.set(a); break; case 4: int o; o=0; while(o2) bo.input2(); o+; break; case 5: break; default : cout错误!请重新输入15之间的数aendlendl; 10 fengzhanhuaer 小型公司工资管理系统 第 11 页 while(i!=5); x+; return 0; void count() int i; i=0; int k; xsy h2; while(i2) k=0

10、; for(int j=0;j5;j+) if(dj.onum2()=bi.onum() hk=dj; k+; int a; a=h0.osell()+h1.osell(); bi.set(a); 11 fengzhanhuaer 小型公司工资管理系统 第 12 页 cout 职工编号为bi.onum()销售经理bi.oname()下属销售员的业绩为:endl; coutendl; endl;/ cout 表格不在类体中设置是考虑到类的通用性问题 cout 职工号 姓名 销售额(元)endl; coutsetiosflags(ios:right) endl; cout setw(12)h0.o

11、num()setw(10)h0.oname()setw(12)h0.osell()endl;/中间几行可采用循环结构,增加函数的灵活性。 cout endl; cout setw(12)h1.onum()setw(10)h1.oname()setw(12)h1.osell()endl; cout endl; cout 销售额总计:setw(24) aendl; cout endl; coutendl; i+; xsjl e; for(int q=0;q1;q+) for(int w=0;w1-q;w+) if(bw.oincome()bw+1.oincome() e=bw;bw=bw+1;bw

12、+1=e; 12 fengzhanhuaer 小型公司工资管理系统 第 13 页 cout销售经理按工资排序为:endl; coutendl; cout endl; coutsetiosflags(ios:right) 职工号 姓名 性别 年龄 工资 endl; cout endl; cout setw(10)b0.onum() setw(10)b0.osex()setw(10)b0.oname()setw(10)b0.oage()setw(10)b0.oincome()endl; cout endl; cout setw(10)b1.onum() setw(10)b1.osex()setw(

13、10)b1.oname()setw(10)b1.oage()setw(10)b1.oincome()endl; cout endl; void output() cout 职工基本情况一览表如下:endlendl; cout 技术员:endlendl; 13 fengzhanhuaer 小型公司工资管理系统 第 14 页 cout endl; cout 职工号 姓名 性别 年龄 工资 endl; cout endl; cout setw(10)a0.onum() setw(10)a0.osex()setw(10)a0.oname()setw(10)a0.oage()setw(10)a0.oin

14、come()endl; cout endl; cout setw(10)a1.onum() setw(10)a1.osex()setw(10)a1.oname()setw(10)a1.oage()setw(10)a1.oincome()endl; cout endl; coutendl; cout 经理:endlendl; cout endl; cout 职工号 姓名 性别 年龄 工资 endl; cout endl; cout setw(10)c0.onum() setw(10)c0.osex()setw(10)c0.oname()setw(10)c0.oage()setw(10)c0.oi

15、ncome()endl; cout endl; 14 fengzhanhuaer 小型公司工资管理系统 第 15 页 cout setw(10)c1.onum() setw(10)c1.osex()setw(10)c1.oname()setw(10)c1.oage()setw(10)c1.oincome()endl; cout endl; coutendl; cout 销售经理:endlendl; cout endl; cout 职工号 姓名 性别 年龄 工资 endl; cout endl; cout setw(10)b0.onum() setw(10)b0.osex()setw(10)b0

16、.oname()setw(10)b0.oage()setw(10)b0.oincome()endl; cout endl; cout setw(10)b1.onum() setw(10)b1.osex()setw(10)b1.oname()setw(10)b1.oage()setw(10)b1.oincome()endl; cout endl; coutendl; cout 销售员:endlendl; cout ;/受窗口大小的限制此处正好为一行,故不用加endl cout 职工号 姓名 性别 年龄 工资 所属部门经理编号; 15 fengzhanhuaer 小型公司工资管理系统 第 16 页

17、 cout ; cout setw(6)d0.onum() setw(6)d0.osex()setw(8)d0.oname() setw(8)d0.oincome()setw(6)d0.oage()setw(16)d0.onum2(); cout ; cout setw(6)d1.onum() setw(6)d1.osex()setw(8)d1.oname() setw(8)d1.oincome()setw(6)d1.oage()setw(16)d1.onum2(); cout ; cout setw(6)d2.onum() setw(6)d2.osex()setw(8)d2.oname()

18、setw(8)d2.oincome()setw(6)d2.oage()setw(16)d2.onum2(); cout ; cout setw(6)d3.onum() setw(6)d3.osex()setw(8)d3.oname() setw(8)d3.oincome()setw(6)d3.oage()setw(16)d3.onum2(); cout ; coutendl; void backup() 16 fengzhanhuaer 小型公司工资管理系统 第 17 页 fstream backup; backup.open(c:备份.txt,ios:in|ios:out|ios:trunc

19、); backup 职工基本情况一览表如下:endlendl; backup 技术员:endlendl; backup endl; backup 职工号 姓名 性别 年龄 工资 endl; backup endl; backup setw(10)a0.onum() setw(10)a0.osex()setw(10)a0.oname()setw(10)a0.oage()setw(10)a0.oincome()endl; backup endl; backup setw(10)a1.onum() setw(10)a1.osex()setw(10)a1.oname()setw(10)a1.oage(

20、)setw(10)a1.oincome()endl; backup endl; backupendl; backup 经理:endlendl; backup endl; backup 职工号 姓名 性别 年龄 工资 endl; backup 17 fengzhanhuaer 小型公司工资管理系统 第 18 页 endl; backup setw(10)c0.onum() setw(10)c0.osex()setw(10)c0.oname()setw(10)c0.oage()setw(10)c0.oincome()endl; backup endl; backup setw(10)c1.onum

21、() setw(10)c1.osex()setw(10)c1.oname()setw(10)c1.oage()setw(10)c1.oincome()endl; backup endl; backupendl; backup 销售经理:endlendl; backup endl; backup 职工号 姓名 性别 年龄 工资 endl; backup endl; backup setw(10)b0.onum() setw(10)b0.osex()setw(10)b0.oname()setw(10)b0.oage()setw(10)b0.oincome()endl; backup endl; b

22、ackup setw(10)b1.onum() setw(10)b1.osex()setw(10)b1.oname()setw(10)b1.oage()setw(10)b1.oincome()endl; backup endl; backupendl; 18 fengzhanhuaer 小型公司工资管理系统 第 19 页 backup 销售员:endlendl; backup endl; backup 职工号 姓名 性别 年龄 工资 所属部门经理编号endl; backup endl; backup setw(6)d0.onum() setw(8)d0.osex()setw(8)d0.onam

23、e() setw(8)d0.oincome()setw(6)d0.oage()setw(16)d0.onum2()endl; backup endl; backup setw(6)d1.onum() setw(8)d1.osex()setw(8)d1.oname() setw(8)d1.oincome()setw(6)d1.oage()setw(16)d1.onum2()endl; backup endl; backup setw(6)d2.onum() setw(8)d2.osex()setw(8)d2.oname() setw(8)d2.oincome()setw(6)d2.oage()s

24、etw(16)d2.onum2()endl; backup endl; backup setw(6)d3.onum() setw(8)d3.osex()setw(8)d3.oname() setw(8)d3.oincome()setw(6)d3.oage()setw(16)d3.onum2()endl; 19 fengzhanhuaer 小型公司工资管理系统 第 20 页 backup endl; backupendl; backup.close; 类体.h文件 #include #include using namespace std; class gy /基类 public: void i

25、nput() coutsetiosflags(ios:left)setw(40)num; coutsetw(40)name; coutsetw(40)sex; coutsetw(40)age; string oname()return name; /因为整型和字符型变量输入时稍有不符就会导致系统瘫痪,而录入信息又较多且年龄等信息不参加算术运算,采用string型可大大减少系统瘫痪机会。 int onum()return num; string oage()return age; string osex()return sex; protected : 20 fengzhanhuaer 小型公司

26、工资管理系统 第 21 页 int income; int num; string name; string age; string sex; ; class jsy :public gy /技术员类 public: void input1() cout请输入技术员信息endl; gy:input(); coutsetw(40)time; income =time*100; oincome()return income; int protected : int time; ; class jl : public gy /经理类 public : void input4() cout请输入经理信

27、息endl; gy:input(); income=0; 21 fengzhanhuaer 小型公司工资管理系统 第 22 页 int oincome()income=8000; return income; ; class xsy:public gy /销售员类 public : void input3() cout请输入销售员的信息endl; gy:input(); coutsetiosflags(ios:left)setw(40)sell; coutsetw(40)num2; income=sell*0.04; int onum2()return num2; int osell()return sell; int oincome()return income; protected : int sell; int num2; ; class xsjl:public gy /销售经理类 public : int set(int a)income=a*0.005+5000;return 0; void input2() 22 fengzhanhuaer 小型公司工资管理系统 第 23 页 cout请输入销售经理信息endl; gy:inp

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁