




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中国石油大学(华东)信息与控制工程学院 程序设计实习报告 小型公司工资管理系统的设计与实现 专业班级: 学 号: 姓 名: 起止日期: 指导老师: 2010年8月 fengzhanhuaer 小型公司工资管理系统 第 2 页 目录 一、实习目的3 二、实习内容3 1. 设计说明与要求3 2. 程序类体3 3. 流程图4 4. 程序代码4 三、设计思路38 四、输出格式39 2 fengzhanhuaer 小型公司工资管理系统 第 3 页 一、实习目的 1、熟悉c+中类的概念,类的封装,继承和多态的实现方式。 2、了解系统开发的需求分析,类层次设计,模块分析,编码测试,模块组装和与整体调试的全过程。 3、逐步熟悉程序设计的方法,并养成良好的编程习惯。 二、实习内容 1、设计说明与要求: (1)说明: 公司主要有4类人员:经理,技术员,销售员,销售经理。要求存储这些人的职工号,姓名,月工资,岗位,年龄,性别等信息。 工资的计算方法: 经理:固定月薪为8000; 技术员:工作时间*小是工资(100元每小时); 销售员:销售额*4%提成; 销售经理:底薪(5000)+所辖部门销售额总额*0.5%; (2)要求: a输入数据要求每类人员不能少于4人,并按统一格式输出格式输出; b实现的功能: (1)数据录入:用键盘输入各类员工的数据; (2)数据统计:统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡排序; (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 #include #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; 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; break; 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文件 #include类体.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 返回上一层 : 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()=bn.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; 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.onum()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+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(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.oincome()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.oincome()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.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 页 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()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); 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()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()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; backup 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.oname()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()setw(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 input() 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 小型公司工资管理系统 第 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请输入经理信息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)incom
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 尾矿专业技术知识培训课件
- 甘肃省突发安全应急预案(3篇)
- 大型储罐拆除施工方案(3篇)
- 2025年度绿色交通基础设施建设投资协议
- 2025年绿色节能型数据中心UPS电源设备采购与租赁服务合同
- 2025年企业员工职业成长培训服务协议书
- 企业级智能HR解决方案:全流程电子合同自动生成与存储合同
- 2025年全球贸易平台烟酒茶类商品代理销售合作协议
- 2025年国际贸易融资担保与信用保险协议
- 2025年红枣绿色环保包装创新设计及市场推广合作协议
- 2025年西藏自治区事业单位招聘考试教师招聘体育学科专业知识试卷(模拟试题)
- 先天性甲状腺功能减退症诊治指南解读课件
- 2025至2030中国裸眼3D行业产业运行态势及投资规划深度研究报告
- 检修安全监护管理制度
- 产科工作管理制度
- 初中历史教师业务考试试题及答案
- 导尿管相关尿路感染预防与控制试题(附答案)
- 中医烧伤课件
- 2025-2030中国水下混凝土行业市场发展趋势与前景展望战略研究报告
- GB/T 30134-2025冷库管理规范
- 2025年心理咨询师基础理论知识测试卷:心理咨询心理学理论体系试题
评论
0/150
提交评论