资源描述
中国石油大学(华东)信息与控制工程学院
《程序设计实习》报告
小型公司工资管理系统的设计与实现
专业班级:
学 号:
姓 名:
起止日期:
指导老师:
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 <iostream>
#include <cstdlib>
#include<fstream>
#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"; cout<<" 请选择一个操作: "; cin>>operate; switch(operate) { case 1: cout<<"请输入数据:"<<endl; { cout<<"正在输入数据......"<<endl; set (z); } break; case 2: cout<<"请等待......."<<endl; { if(z==0) {
5
fengzhanhuaer 小型公司工资管理系统 第 6 页 cout<<" 警告!!操作无法完成!请先输入员工信息!
"<<'\a'<<endl;////新增了录入错误警告功能,且发出响铃.防止错误操作 break; } cout<<"正在进行数据统计......"<<endl; count(); } break; case 3: cout<<"请等待........"<<endl; { if(z==0) { cout<<" 警告!!操作无法完成!请先输入员工信息!
"<<'\a'<<endl; break; } cout<<"正在进行数据打印......"<<endl; output(); }; break; case 4: cout<<"请等待........"<<endl; { if(z==0)
6
fengzhanhuaer 小型公司工资管理系统 第 7 页 { cout<<" 警告!!操作无法完成!请先输入员工信息!
"<<'\a'<<endl; break; } cout<<"正在进行数据备份......"<<endl; backup(); } break; case 5: exit(0); break; default: cout<<"错误!请重新选择1-5间的数输入"<<'\a'<<endl<<endl; break; } }while(1);
cout<<"退出菜单,回到主程序继续向下执行"<<endl;
}
功能函数.h文件
#include"类体.h"
#include<fstream>
using namespace std;
jsy a[2];
xsjl b[2];
jl c[2];
7
fengzhanhuaer 小型公司工资管理系统 第 8 页
xsy d[4];
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<<" cout<<" 请选择一个操作: "; cin>>i; switch(i) { case 1: { int k; k=0; while(k<2) { c[k].input4(); k++; }
8
fengzhanhuaer 小型公司工资管理系统 第 9 页 break; } case 2: { int j; j=0; while(j<2) { a[j].input1(); j++; } break; } case 3: { int l; l=0; while(l<4) { d[l].input3(); l++; } int m,n,a; for(n=0;n<2;n++) { a=0; for(m=0;m<4;m++) { if(d[0].onum2()==b[n].onum())
9
fengzhanhuaer 小型公司工资管理系统 第 10 页 { a=d[0].osell()+a; } } b[n].set(a); } break; } case 4: { int o; o=0; while(o<2) { b[o].input2(); o++; } break; } case 5: { break; } default : { cout<<"错误!请重新输入1~5之间的数"<<'\a'<<endl<<endl; } }
10
fengzhanhuaer 小型公司工资管理系统 第 11 页 } while(i!=5); x++; return 0;
}
void count()
{ int i; i=0; int k; xsy h[2]; while(i<2) { k=0; for(int j=0;j<5;j++) { if(d[j].onum2()==b[i].onum()) { h[k]=d[j]; k++; } } int a; a=h[0].osell()+h[1].osell(); b[i].set(a);
11
fengzhanhuaer 小型公司工资管理系统 第 12 页 cout<<" 职工编号为"<<b[i].onum()<<"销售经理
"<<b[i].oname()<<"下属销售员的业绩为:"<<endl; cout<<endl;
┏━━━━━━┳━━━━━┳━━━━━━┓"<<endl;// cout<<"
表格不在类体中设置是考虑到类的通用性问题 cout<<" ┃"<<" 职工号 "<<"┃"<<" 姓名 "<<"┃"<<" 销
售额(元)"<<"┃"<<endl; cout<<setiosflags(ios::right)<<" ┣━━━━━━╋━━━━━╋━━━
━━━┫"<<endl; cout<<" ┃"<<setw(12)<<h[0].onum()<<"┃
"<<setw(10)<<h[0].oname()<<"┃"<<setw(12)<<h[0].osell()<<"┃"<<endl;//中间几
行可采用循环结构,增加函数的灵活性。 cout<<" ┣━━━━━━╋━━━━━╋━━━━━━┫"<<endl; cout<<" ┃"<<setw(12)<<h[1].onum()<<"┃
"<<setw(10)<<h[1].oname()<<"┃"<<setw(12)<<h[1].osell()<<"┃"<<endl; cout<<" ┣━━━━━━╋━━━━━┻━━━━━━┫"<<endl; cout<<" ┃"<<"销售额总计:"<<"┃"<<setw(24) <<a<<"┃"<<endl; cout<<" ┗━━━━━━┻━━━━━━━━━━━━┛"<<endl; cout<<endl; i++; } xsjl e; for(int q=0;q<1;q++) { for(int w=0;w<1-q;w++) { if(b[w].oincome()<b[w+1].oincome()) { e=b[w];b[w]=b[w+1];b[w+1]=e;
12
fengzhanhuaer 小型公司工资管理系统 第 13 页 } } } cout<<"销售经理按工资排序为:"<<endl; cout<<endl; cout<<" ┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━
━━━┓"<<endl; cout<<setiosflags(ios::right)<<" ┃"<<" 职工号 "<<"┃"<<" 姓名
"<<"┃"<<" 性别 "<<"┃"<<" 年龄 "<<"┃"<<" 工资 "<<"┃
"<<endl; cout<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋━━
━━━┫"<<endl; cout<<" ┃"<<setw(10)<<b[0].onum()<<"┃
┃"<<setw(10)<<b[0].osex()<<"┃"<<setw(10)<<b[0].oname()<<"
"<<setw(10)<<b[0].oage()<<"┃"<<setw(10)<<b[0].oincome()<<"┃"<<endl; cout<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋━━
━━━┫"<<endl; cout<<" ┃"<<setw(10)<<b[1].onum()<<"┃
┃"<<setw(10)<<b[1].osex()<<"┃"<<setw(10)<<b[1].oname()<<"
"<<setw(10)<<b[1].oage()<<"┃"<<setw(10)<<b[1].oincome()<<"┃"<<endl; cout<<" ┗━━━━━┻━━━━━┻━━━━━┻━━━━━┻━━
━━━┛"<<endl;
}
void output()
{ cout<<" 职工基本情况一览表如下:"<<endl<<endl; cout<<" 技术员:"<<endl<<endl;
13
fengzhanhuaer 小型公司工资管理系统 第 14 页 cout<<" ┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━
━━━┓"<<endl; cout<<" ┃"<<" 职工号 "<<"┃"<<" 姓名 "<<"┃"<<" 性别
"<<"┃"<<" 年龄 "<<"┃"<<" 工资 "<<"┃"<<endl; cout<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋━━
━━━┫"<<endl; cout<<" ┃"<<setw(10)<<a[0].onum()<<"┃
┃"<<setw(10)<<a[0].osex()<<"┃"<<setw(10)<<a[0].oname()<<"
"<<setw(10)<<a[0].oage()<<"┃"<<setw(10)<<a[0].oincome()<<"┃"<<endl; cout<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋━━
━━━┫"<<endl; cout<<" ┃"<<setw(10)<<a[1].onum()<<"┃
┃"<<setw(10)<<a[1].osex()<<"┃"<<setw(10)<<a[1].oname()<<"
"<<setw(10)<<a[1].oage()<<"┃"<<setw(10)<<a[1].oincome()<<"┃"<<endl; cout<<" ┗━━━━━┻━━━━━┻━━━━━┻━━━━━┻━━
━━━┛"<<endl; cout<<endl; cout<<" 经理:"<<endl<<endl; cout<<" ┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━
━━━┓"<<endl; cout<<" ┃"<<" 职工号 "<<"┃"<<" 姓名 "<<"┃"<<" 性别
"<<"┃"<<" 年龄 "<<"┃"<<" 工资 "<<"┃"<<endl; cout<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋━━
━━━┫"<<endl; cout<<" ┃"<<setw(10)<<c[0].onum()<<"┃
┃"<<setw(10)<<c[0].osex()<<"┃"<<setw(10)<<c[0].oname()<<"
"<<setw(10)<<c[0].oage()<<"┃"<<setw(10)<<c[0].oincome()<<"┃"<<endl; cout<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋━━
━━━┫"<<endl;
14
fengzhanhuaer 小型公司工资管理系统 第 15 页 cout<<" ┃"<<setw(10)<<c[1].onum()<<"┃
┃"<<setw(10)<<c[1].osex()<<"┃"<<setw(10)<<c[1].oname()<<"
"<<setw(10)<<c[1].oage()<<"┃"<<setw(10)<<c[1].oincome()<<"┃"<<endl; cout<<" ┗━━━━━┻━━━━━┻━━━━━┻━━━━━┻━━
━━━┛"<<endl; cout<<endl; cout<<" 销售经理:"<<endl<<endl; cout<<" ┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━
━━━┓"<<endl; cout<<" ┃"<<" 职工号 "<<"┃"<<" 姓名 "<<"┃"<<" 性别
"<<"┃"<<" 年龄 "<<"┃"<<" 工资 "<<"┃"<<endl; cout<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋━━
━━━┫"<<endl; cout<<" ┃"<<setw(10)<<b[0].onum()<<"┃
┃"<<setw(10)<<b[0].osex()<<"┃"<<setw(10)<<b[0].oname()<<"
"<<setw(10)<<b[0].oage()<<"┃"<<setw(10)<<b[0].oincome()<<"┃"<<endl; cout<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋━━
━━━┫"<<endl; cout<<" ┃"<<setw(10)<<b[1].onum()<<"┃
┃"<<setw(10)<<b[1].osex()<<"┃"<<setw(10)<<b[1].oname()<<"
"<<setw(10)<<b[1].oage()<<"┃"<<setw(10)<<b[1].oincome()<<"┃"<<endl; cout<<" ┗━━━━━┻━━━━━┻━━━━━┻━━━━━┻━━
━━━┛"<<endl; cout<<endl; cout<<" 销售员:"<<endl<<endl; cout<<" ┏━━━┳━━━━┳━━━┳━━━┳━━━━┳━━━━
━━━━┓";//受窗口大小的限制此处正好为一行,故不用加endl cout<<" ┃"<<"职工号"<<"┃"<<" 姓名 "<<"┃"<<" 性别 "<<"┃"<<"
年龄 "<<"┃"<<" 工资 "<<"┃"<<"所属部门经理编号"<<"┃";
15
fengzhanhuaer 小型公司工资管理系统 第 16 页 cout<<" ┣━━━╋━━━━╋━━━╋━━━╋━━━━╋━━━━
━━━━┫"; cout<<" ┃"<<setw(6)<<d[0].onum()<<"┃
┃"<<setw(6)<<d[0].osex()<<"┃"<<setw(8)<<d[0].oname()<<"
┃"<<setw(8)<<d[0].oincome()<<"┃"<<setw(6)<<d[0].oage()<<"
"<<setw(16)<<d[0].onum2()<<"┃"; cout<<" ┣━━━╋━━━━╋━━━╋━━━╋━━━━╋━━━━
━━━━┫"; cout<<" ┃"<<setw(6)<<d[1].onum()<<"┃
┃"<<setw(6)<<d[1].osex()<<"┃"<<setw(8)<<d[1].oname()<<"
┃"<<setw(8)<<d[1].oincome()<<"┃"<<setw(6)<<d[1].oage()<<"
"<<setw(16)<<d[1].onum2()<<"┃"; cout<<" ┣━━━╋━━━━╋━━━╋━━━╋━━━━╋━━━━
━━━━┫"; cout<<" ┃"<<setw(6)<<d[2].onum()<<"┃
┃"<<setw(6)<<d[2].osex()<<"┃"<<setw(8)<<d[2].oname()<<"
┃"<<setw(8)<<d[2].oincome()<<"┃"<<setw(6)<<d[2].oage()<<"
"<<setw(16)<<d[2].onum2()<<"┃"; cout<<" ┣━━━╋━━━━╋━━━╋━━━╋━━━━╋━━━━
━━━━┫"; cout<<" ┃"<<setw(6)<<d[3].onum()<<"┃
┃"<<setw(6)<<d[3].osex()<<"┃"<<setw(8)<<d[3].oname()<<"
┃"<<setw(8)<<d[3].oincome()<<"┃"<<setw(6)<<d[3].oage()<<"
"<<setw(16)<<d[3].onum2()<<"┃"; cout<<" ┗━━━┻━━━━┻━━━┻━━━┻━━━━┻━━━━
━━━━┛"; cout<<endl;
}
void backup()
16
fengzhanhuaer 小型公司工资管理系统 第 17 页
{ fstream backup; backup.open("c:\\备份.txt",ios::in|ios::out|ios::trunc); backup<<" 职工基本情况一览表如下:"<<endl<<endl; backup<<" 技术员:"<<endl<<endl; backup<<" ┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳
━━━━━┓"<<endl; backup<<" ┃"<<" 职工号 "<<"┃"<<" 姓名 "<<"┃"<<" 性
别 "<<"┃"<<" 年龄 "<<"┃"<<" 工资 "<<"┃"<<endl; backup<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋
━━━━━┫"<<endl; backup<<" ┃"<<setw(10)<<a[0].onum()<<"┃
┃"<<setw(10)<<a[0].osex()<<"┃"<<setw(10)<<a[0].oname()<<"
"<<setw(10)<<a[0].oage()<<"┃"<<setw(10)<<a[0].oincome()<<"┃"<<endl; backup<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋
━━━━━┫"<<endl; backup<<" ┃"<<setw(10)<<a[1].onum()<<"┃
┃"<<setw(10)<<a[1].osex()<<"┃"<<setw(10)<<a[1].oname()<<"
"<<setw(10)<<a[1].oage()<<"┃"<<setw(10)<<a[1].oincome()<<"┃"<<endl; backup<<" ┗━━━━━┻━━━━━┻━━━━━┻━━━━━┻
━━━━━┛"<<endl; backup<<endl; backup<<" 经理:"<<endl<<endl; backup<<" ┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳
━━━━━┓"<<endl; backup<<" ┃"<<" 职工号 "<<"┃"<<" 姓名 "<<"┃"<<" 性
别 "<<"┃"<<" 年龄 "<<"┃"<<" 工资 "<<"┃"<<endl; backup<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋
17
fengzhanhuaer 小型公司工资管理系统 第 18 页
━━━━━┫"<<endl; backup<<" ┃"<<setw(10)<<c[0].onum()<<"┃
┃"<<setw(10)<<c[0].osex()<<"┃"<<setw(10)<<c[0].oname()<<"
"<<setw(10)<<c[0].oage()<<"┃"<<setw(10)<<c[0].oincome()<<"┃"<<endl; backup<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋
━━━━━┫"<<endl; backup<<" ┃"<<setw(10)<<c[1].onum()<<"┃
┃"<<setw(10)<<c[1].osex()<<"┃"<<setw(10)<<c[1].oname()<<"
"<<setw(10)<<c[1].oage()<<"┃"<<setw(10)<<c[1].oincome()<<"┃"<<endl; backup<<" ┗━━━━━┻━━━━━┻━━━━━┻━━━━━┻
━━━━━┛"<<endl; backup<<endl; backup<<" 销售经理:"<<endl<<endl; backup<<" ┏━━━━━┳━━━━━┳━━━━━┳━━━━━┳
━━━━━┓"<<endl; backup<<" ┃"<<" 职工号 "<<"┃"<<" 姓名 "<<"┃"<<" 性
别 "<<"┃"<<" 年龄 "<<"┃"<<" 工资 "<<"┃"<<endl; backup<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋
━━━━━┫"<<endl; backup<<" ┃"<<setw(10)<<b[0].onum()<<"┃
┃"<<setw(10)<<b[0].osex()<<"┃"<<setw(10)<<b[0].oname()<<"
"<<setw(10)<<b[0].oage()<<"┃"<<setw(10)<<b[0].oincome()<<"┃"<<endl; backup<<" ┣━━━━━╋━━━━━╋━━━━━╋━━━━━╋
━━━━━┫"<<endl; backup<<" ┃"<<setw(10)<<b[1].onum()<<"┃
┃"<<setw(10)<<b[1].osex()<<"┃"<<setw(10)<<b[1].oname()<<"
"<<setw(10)<<b[1].oage()<<"┃"<<setw(10)<<b[1].oincome()<<"┃"<<endl; backup<<" ┗━━━━━┻━━━━━┻━━━━━┻━━━━━┻
━━━━━┛"<<endl; backup<<endl;
18
fengzhanhuaer 小型公司工资管理系统 第 19 页 backup<<" 销售员:"<<endl<<endl; backup<<" ┏━━━┳━━━━┳━━━━┳━━━┳━━━━┳━
━━━━━━━┓"<<endl; backup<<" ┃"<<"职工号"<<"┃"<<" 姓名 "<<"┃"<<" 性别 "<<"
┃"<<" 年龄 "<<"┃"<<" 工资 "<<"┃"<<"所属部门经理编号"<<"┃"<<endl; backup<<" ┣━━━╋━━━━╋━━━━╋━━━╋━━━━╋━
━━━━━━━┫"<<endl; backup<<" ┃"<<setw(6)<<d[0].onum()<<"┃
┃"<<setw(8)<<d[0].osex()<<"┃"<<setw(8)<<d[0].oname()<<"
┃"<<setw(8)<<d[0].oincome()<<"┃"<<setw(6)<<d[0].oage()<<"
"<<setw(16)<<d[0].onum2()<<"┃"<<endl; backup<<" ┣━━━╋━━━━╋━━━━╋━━━╋━━━━╋━
━━━━━━━┫"<<endl; backup<<" ┃"<<setw(6)<<d[1].onum()<<"┃
┃"<<setw(8)<<d[1].osex()<<"┃"<<setw(8)<<d[1].oname()<<"
┃"<<setw(8)<<d[1].oincome()<<"┃"<<setw(6)<<d[1].oage()<<"
"<<setw(16)<<d[1].onum2()<<"┃"<<endl; backup<<" ┣━━━╋━━━━╋━━━━╋━━━╋━━━━╋━
━━━━━━━┫"<<endl; backup<<" ┃"<<setw(6)<<d[2].onum()<<"┃
┃"<<setw(8)<<d[2].osex()<<"┃"<<setw(8)<<d[2].oname()<<"
┃"<<setw(8)<<d[2].oincome()<<"┃"<<setw(6)<<d[2].oage()<<"
"<<setw(16)<<d[2].onum2()<<"┃"<<endl; backup<<" ┣━━━╋━━━━╋━━━━╋━━━╋━━━━╋━
━━━━━━━┫"<<endl; backup<<" ┃"<<setw(6)<<d[3].onum()<<"┃
┃"<<setw(8)<<d[3].osex()<<"┃"<<setw(8)<<d[3].oname()<<"
┃"<<setw(8)<<d[3].oincome()<<"┃"<<setw(6)<<d[3].oage()<<"
"<<setw(16)<<d[3].onum2()<<"┃"<<endl;
19
fengzhanhuaer 小型公司工资管理系统 第 20 页 backup<<" ┗━━━┻━━━━┻━━━━┻━━━┻━━━━┻━
━━━━━━━┛"<<endl; backup<<endl; backup.close;
}
类体.h文件
#include<iomanip>
#include<string>
using namespace std;
class gy //基类
{
public: void input() { 请输入雇员职工号: "; cin >>num; cout<<setw(40)<<"请输入雇员姓名(请简写到十个字母以内): "; cin>>name; cout<<setw(40)<<"请输入雇员性别(m/w): "; cin>>sex; cout<<setw(40)<<"请输入雇员年龄: "; cin>>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(); cout<<setw(40)<<"请输入技术员工作时间: "; cin>>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(); 请输入雇员销售额: "; cin>>sell; cout<<setw(40)<<"请输入所属的销售经理编号: "; cin>>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::input(); } int oincome(){return income;} int set2(int a){income=a ;return 0;}
};
三、设计思路
本程序开
展开阅读全文