收藏 分销(赏)

小型公司工资管理系统(C++)源代码.doc

上传人:精*** 文档编号:4031173 上传时间:2024-07-25 格式:DOC 页数:11 大小:37.54KB
下载 相关 举报
小型公司工资管理系统(C++)源代码.doc_第1页
第1页 / 共11页
小型公司工资管理系统(C++)源代码.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述
#include〈iomanip。h〉 #include<iostream。h〉 #include<fstream。h〉 #include〈stdlib。h〉 class Employ//基类—雇员类 { protected: int num; char name[10]; char sex; int age; int wage; public: virtual void set()=0; virtual void print()=0; virtual void reserved()=0; }; class Manager:public Employ//经理类 { public: void set(); void print(); void reserved(); }; class Salesman:public Employ//销售员类 { protected: int salesvolume; int snum; public: void set(); void print(); void reserved(); void printinfor(); int getsales() {return salesvolume;} int getsnum() {return snum;} }; class MarketMan:public Manager//销售经理类 { protected: int salesvolume; public: void set(); void print(); void reserved(); int resetwage(); int getnum() {return num;} char*getname() {return name;} int getamount(Salesman s[],int n) { salesvolume=0; for(int i=0;i〈n;i++) {if(s[i]。getsnum()==num) salesvolume+=s[i]。getsales();} return salesvolume; } }; class Technician:public Employ//技术员类 { protected: int worktime; public: void set(); void print(); void reserved(); }; void Manager::set() { wage=8000; cout<<”经理的编号:”; cin>>num; cout<<”其姓名:"; cin〉〉name; cout〈〈"性别(m/w):"; cin>〉sex; cout<〈”年龄:”; cin〉〉age; } void Manager::print()//经理类成员函数 { cout〈<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫"〈〈endl; cout<〈"┃”〈〈setw(12)〈〈num<〈"┃"<<setw(12)〈<name<〈"┃”<〈setw(12)<〈sex; cout〈〈"┃”<〈setw(12)〈<age〈〈”┃"〈〈setw(12)〈〈wage<〈”┃"〈<endl; } void Manager::reserved() { ofstream employf(”E:\\05-29\\gzglxt。txt”,ios::app); employf〈<”经理的编号:"<〈num<〈endl 〈<"其姓名:”<〈name〈<endl <〈"性别(m/w):”〈〈sex〈<endl <<”年龄:”<<age〈<endl; } void MarketMan::set() { wage=resetwage(); cout〈<”销售经理的编号:"; cin〉>num; cout〈<”其姓名:"; cin>>name; cout〈〈”性别(m/w):”; cin〉>sex; cout<〈"年龄:”; cin〉>age; } void MarketMan::print() { resetwage(); cout〈<"┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫”〈〈endl; cout<〈”┃”<〈setw(12)〈<num<〈"┃”〈〈setw(12)<<name〈〈"┃"<〈setw(12)〈〈sex; cout〈<"┃”〈〈setw(12)〈〈age〈<”┃"〈〈setw(12)<〈wage<〈”┃"<<endl; } void MarketMan::reserved() { ofstream employf(”E:\\05—29\\gzglxt.txt”,ios::app); employf〈<"销售经理的编号:"〈<num〈<endl 〈〈"其姓名:"<〈name〈〈endl 〈〈”性别(m/w):"〈〈sex<〈endl 〈<”年龄:”〈<age<〈endl; } int MarketMan::resetwage() { wage=5000+int(salesvolume*0。005); return wage; } void Salesman::set()//销售员类定义 { cout<〈”销售员的编号:”; cin>>num; cout〈<”其姓名:"; cin>>name; cout<〈"性别(m/w):"; cin〉〉sex; cout〈〈”年龄:”; cin>〉age; cout〈<”销售额:"; cin>〉salesvolume; cout〈<"所属销售经理的编号:”; cin〉〉snum; wage=int(salesvolume*0.04); } void Salesman::printinfor() { cout<<”┣━━━━━━━╋━━━━━━━╋━━━━━━━┫”〈〈endl; cout〈<”┃”〈〈setw(14)<〈num<〈”┃”<〈setw(14)〈<name<〈”┃”<〈setw(14)〈〈salesvolume<<"┃”〈〈endl; } void Salesman::print() { cout〈<"┣━━━━╋━━━━━╋━━━━━╋━━━━━╋━━━━━╋━━━━━━━━┫”〈<endl; cout〈〈"┃”〈〈setw(8)<<num〈〈”┃”<〈setw(10)〈<name<〈"┃"〈〈setw(10)〈<sex; cout〈<”┃”〈〈setw(10)〈<age<〈"┃”〈〈setw(10)〈〈wage<<”┃”〈<setw(16)〈〈getsnum()<〈"┃"〈〈endl; } void Salesman::reserved() { ofstream employf(”E:\\05-29\\gzglxt。txt”,ios::app); employf<<”销售员的编号:"〈<num〈<endl 〈〈”其姓名:”〈〈name<〈endl 〈〈”性别(m/w):"<<sex〈<endl 〈〈”年龄:”〈〈age<<endl 〈<”销售额:”〈<salesvolume〈<endl 〈<”所属销售经理的编号"〈〈snum<〈endl; } void Technician::set()//技术员类定义 { cout〈<"技术员的编号:”; cin>〉num; cout<〈”其姓名:”; cin>〉name; cout〈〈”性别(m/w):"; cin>>sex; cout〈〈”年龄:"; cin〉〉age; cout<<”工作时间:”; cin>〉worktime; wage=worktime*100; } void Technician::print() { cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫"〈〈endl; cout<〈”┃”〈〈setw(12)〈〈num〈<”┃”<<setw(12)〈〈name〈〈”┃”〈<setw(12)〈<sex; cout〈<”┃”〈〈setw(12)〈〈age<〈"┃”〈<setw(12)〈〈wage〈<”┃"<〈endl; } void Technician::reserved() { ofstream employf(”E:\\05—29\\gzglxt。txt”,ios::app); employf〈<"技术员的编号:”〈〈num〈〈endl <〈”其姓名:"〈〈name〈〈endl 〈<"性别(m/w):”<<sex<<endl 〈〈”年龄:”〈<age〈<endl 〈〈”工作时间:”〈<worktime〈〈endl; } //主函数 int t,m,s,mm; Technician*pt; Manager*pm; Salesman*ps; MarketMan*pmm; void setin(); void count(); void printdata(); void reservedall(); void single(); void main() { cout〈〈"请分别输入技术员,经理,销售员,销售经理人数:”〈〈endl; cin〉〉t>〉m〉〉s>〉mm; pt=new Technician[t]; pm=new Manager[m]; ps=new Salesman[s]; pmm=new MarketMan[mm]; if((!pt)||(!pm)||(!ps)||(!pmm)) { cout<〈”堆内存分配失败!”〈〈endl; exit(1);} single(); } void single() { cout<<”★★小型公司工资管理系统★★”〈<endl; cout〈〈”┏━━━━━━━━━━━━━┓”〈〈endl; cout〈〈”┃ 请选择所需的操作 ┃ "<〈endl; cout〈〈"┃┃”〈〈endl; cout〈〈”┃ 数据输入:1,并按回车键 ┃”〈<endl; cout〈〈"┃┃”〈〈endl; cout<<”┃ 数据统计:2,并按回车键 ┃”<〈endl; cout<〈”┃┃"〈〈endl; cout〈<”┃ 数据打印:3,并按回车键 ┃”〈〈endl; cout〈〈”┃┃”〈〈endl; cout〈〈”┃ 数据备份:4,并按回车键 ┃”<<endl; cout<〈"┃┃”〈〈endl; cout<<”┃ 退出系统:5,并按回车键 ┃”<〈endl; cout<〈"┃┃”<〈endl; cout〈〈"┗━━━━━━━━━━━━━┛”<〈endl; cout〈〈”请选择一个操作:”〈〈endl; int choice; cin〉〉choice; switch(choice) { case 1:setin(); case 2:count(); case 3:printdata(); case 4:reservedall(); case 5:exit(0); } } void setin() { Menu1: cout〈<"★★小型公司工资管理系统★★"〈<endl; cout〈〈”┏━━━━━━━━━━━━━━━━┓"〈〈endl; cout〈〈”┃ 请选择所需的操作 ┃”〈<endl; cout〈〈”┃┃"〈〈endl; cout<〈”┃技术员数据输入 : 1,并按回车键 ┃”〈〈endl; cout〈<"┃┃”〈<endl; cout〈〈”┃经理数据输入 : 2,并按回车键 ┃”<〈endl; cout〈〈"┃┃”<〈endl; cout<〈"┃销售员数据输入 : 3,并按回车键 ┃”〈〈endl; cout〈<”┃┃”〈<endl; cout<〈"┃销售经理数据输入 : 4,并按回车键 ┃”〈〈endl; cout<〈”┃┃"〈〈endl; cout〈<”┃返回上一级菜单 : 5,并按回车键 ┃"<<endl; cout〈<”┗━━━━━━━━━━━━━━━━┛”<〈endl; cout〈<"请选择一个操作"; int ch1,i; cin>〉ch1; switch(ch1) { case 1:{for(i=0;i〈t;i++) pt[i].set(); cout〈〈”—-———-———-————--------———-—-———-—”〈〈endl; goto Menu1;} case 2:{for(i=0;i〈m;i++) pm[i]。set(); cout<<”———--———-—-—--——————-————-—————-—”〈<endl; goto Menu1;} case 3:{for(i=0;i〈s;i++) ps[i]。set(); cout〈<”-——--—--————--—-————-——-—----————"<〈endl; goto Menu1; } case 4:{for(i=0;i<mm;i++) pmm[i]。set(); cout〈<"—-————-————--—-—-——--——-—-—-—-——-"<〈endl; goto Menu1; } case 5:single(); }} void count() { Menu2: cout<〈”★★小型公司工资管理系统★★”〈〈endl; cout〈〈"┏━━━━━━━━━━━━━━━━━━━━━━┓”〈<endl; cout<〈"┃ 请选择所需的操作 ┃"〈〈endl; cout〈〈”┃┃”<〈endl; cout<〈”┃各销售经理下属销售员业绩统计 : 1,并按回车键 ┃”〈〈endl; cout<〈”┃┃”〈〈endl; cout〈〈”┃销售经理按工资排序 : 2,并按回车键 ┃”〈<endl; cout〈〈”┃┃”〈〈endl; cout<〈”┃返回上一级菜单 : 3,并按回车键 ┃”<〈endl; cout<〈”┗━━━━━━━━━━━━━━━━━━━━━━┛"<〈endl; cout〈<”请选择一个操作"; int ch2,i,j; cin>〉ch2; switch(ch2) { case 1:{for(i=0;i〈mm;i++) {cout〈<”职工号为:”<〈pmm[i]。getnum()<<”销售经理:”<〈pmm[i]。getname()〈〈”下属销售员的业绩为:”〈〈endl; cout〈〈"┏━━━━━━━┳━━━━━━━┳━━━━━━━┓”〈〈endl; cout〈〈”┃职工号 ┃姓名 ┃销售额 ┃"〈〈endl; for(j=0;j<s;j++) if(pmm[i].getnum()==ps[j]。getsnum()) ps[j]。printinfor(); cout<〈"┣━━━━━━━┻━━━┳━━━┻━━━━━━━┫”〈<endl; cout<〈”┃销售额总计: ┃"<〈setw(22)〈〈pmm[i]。getamount(ps,s)〈〈”┃"〈〈endl; cout<〈”┗━━━━━━━━━━━┻━━━━━━━━━━━┛”〈<endl;} goto Menu2; } case 2:{cout〈〈"销售经理按工资排序为:”〈<endl; MarketMan pmmm; for(i=1;i〈mm;i++) for(j=0;j<mm—i;j++) if(pmm[j]。getamount(ps,s)〈pmm[j+1]。getamount(ps,s)) { pmmm=pmm[j]; pmm[j]=pmm[j+1]; pmm[j+1]=pmmm; } cout〈〈”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓”〈<endl; cout〈<”┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃"〈<endl; for(i=0;i〈mm;i++) pmm[i]。print(); cout〈〈"┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛"<〈endl; cout〈〈” ——-———---—-———-———-—--————————-----——-—-————”<〈endl; goto Menu2;} case 3:single(); }} void printdata() { Menu3: cout<<”★★小型公司工资管理系统★★”〈<endl; cout〈〈”┏━━━━━━━━━━━━━━━━┓”〈〈endl; cout〈<"┃ 请选择所需的操作 ┃”<〈endl; cout<〈”┃┃"〈〈endl; cout〈〈"┃技术员数据输出 : 1,并按回车键 ┃”<〈endl; cout〈<"┃┃”〈<endl; cout〈〈"┃经理数据输出 : 2,并按回车键 ┃”〈<endl; cout<〈”┃┃”〈<endl; cout〈<”┃销售员数据输出 : 3,并按回车键 ┃”<〈endl; cout〈〈”┃┃"〈〈endl; cout<〈"┃销售经理数据输出 : 4,并按回车键 ┃"〈<endl; cout<〈”┃┃”〈<endl; cout〈〈"┃返回上一级 : 5,并按回车键 ┃"<〈endl; cout〈<"┗━━━━━━━━━━━━━━━━┛”<〈endl; cout〈<”请选择一个操作”; int ch3,i; cin〉>ch3; switch(ch3) {case 1:{ cout〈〈”技术员”〈<endl<〈endl; cout〈〈"┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓”〈<endl; cout〈〈”┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃"<〈endl; for(i=0;i〈t;i++) pt[i]。print(); cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛”<〈endl; cout〈〈”—-—----————---————-——————-—--—-———--———-—-”<〈endl; goto Menu3;} case 2:{ cout<<"经理”〈〈endl〈<endl; cout<〈”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓”<〈endl; cout<〈”┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃”<〈endl; for(i=0;i<m;i++) pm[i].print(); cout〈〈"┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛”〈〈endl; cout<〈”-—-———————-—————-———-—---——-——-—----—--——-”<<endl; goto Menu3;} case 4:{cout<〈”销售经理"〈<endl〈<endl; cout〈〈"┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓"〈<endl; cout〈<”┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃”〈〈endl; for(i=0;i〈mm;i++) pmm[i]。print(); cout〈〈”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛"<<endl; cout〈〈”——-—-———-———-——-—--—-——————-——-———-————-—-"<<endl; goto Menu3;} case 3:{cout<<"销售员"<〈endl〈〈endl; cout<<”┏━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━━━━┓”〈〈endl; cout<〈"┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃所属部门经理编号┃"<〈endl; for(i=0;i〈s;i++) ps[i].print(); cout<〈”┗━━━━┻━━━━━┻━━━━━┻━━━━━┻━━━━━┻━━━━━━━━┛”〈<endl; cout〈〈”——-——-——-—————---—---—--—--——--——--—-—-—--”〈〈endl; goto Menu3;} case 5:single(); } } void reservedall() {Menu4: cout〈〈"★★小型公司工资管理系统★★"〈<endl; cout〈<”┏━━━━━━━━━━━━━━━━┓”<〈endl; cout〈〈”┃ 请选择所需的操作 ┃"〈<endl; cout<<”┃┃"<〈endl; cout<〈”┃技术员数据备份 : 1,并按回车键 ┃”<<endl; cout〈〈"┃┃"<〈endl; cout<〈”┃经理数据备份 : 2,并按回车键 ┃”〈<endl; cout〈〈”┃┃”<〈endl; cout〈〈"┃销售员数据备份 : 3,并按回车键 ┃"〈〈endl; cout<<"┃┃”〈〈endl; cout〈<”┃销售经理数据备份 : 4,并按回车键 ┃”〈〈endl; cout<〈”┃┃”<<endl; cout〈<"┃返回上一级 : 5,并按回车键 ┃”〈<endl; cout〈<”┗━━━━━━━━━━━━━━━━┛"〈〈endl; cout<〈"请选择一个操作”; int ch4,i; cin〉〉ch4; switch(ch4) { case 1:{for(i=0;i〈t;i++) pt[i].reserved(); goto Menu4; } case 2:{for(i=0;i〈m;i++) pm[i].reserved(); goto Menu4; } case 3:{for(i=0;i〈s;i++) ps[i]。reserved(); goto Menu4; } case 4:{for(i=0;i<mm;i++) pmm[i].reserved(); goto Menu4; } case 5:single(); } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服