C++课程设计-----高校工资管理系统.doc_第1页
C++课程设计-----高校工资管理系统.doc_第2页
C++课程设计-----高校工资管理系统.doc_第3页
C++课程设计-----高校工资管理系统.doc_第4页
C++课程设计-----高校工资管理系统.doc_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include iostream#include string#include fstream#include iomanipusing namespace std;ofstream outfile; /输出文件ifstream infile;/输入文件class Employee /抽象基类public: int num; string name;public: Employee() virtual float getMS()=0; / 纯虚函数获取月薪 Employee() /析构函数 ;class Teacher:virtual public Employee /虚继承public: int workhour; /教师上学期的工作量 static int baseM1; /教师基本工资 static int baseh; /教师基本工作量public: Teacher() float getTM() /获取课时费函数 return (workhour-baseh)*20; float getMS() /重新定义纯虚函数 return baseM1+getTM() ; void save() /f1.dat文件用于保存教师信息 outfile.open(f1.dat,ios:app); /这里是追加方式 outfilesetw(10)numsetw(20)namesetw(10)workhourendl; outfile.close(); Teacher();int Teacher:baseh=120; /设置教师类的基本工作量int Teacher:baseM1=800; /设置教师类的基本工资class Exp:virtual public Employee /实验员类(虚继承)public: static int otherM; /实验员的补助 static int baseM2; /实验员基本工资public: Exp() float getMS() /重新定义纯虚函数 return baseM2+otherM ; void save() /用f2.dat文件保存实验员信息 outfile.open(f2.dat,ios:app);/这里是追加方式 outfilesetw(10)numsetw(20)nameendl; outfile.close(); Exp();int Exp:otherM=150; /设置实验员的补助int Exp:baseM2=650; /设置实验员基本工资class Pol:virtual public Employee /行政人员类(虚继承)public: static int baseM3; /行政人员基本工资 static int Pom; /行政人员补贴public: Pol() float getMS() /重新定义纯虚函数 return baseM3+Pom ; void save() /用f3.dat文件保存行政人员信息 outfile.open(f3.dat,ios:app); /这里是追加方式 outfilesetw(10)numsetw(20)nameendl; outfile.close(); Pol();int Pol:baseM3=750; /设置行政人员的补助int Pol:Pom=250; /设置行政人员补贴 class TE:public Teacher,public Exp /教师兼职实验员类public: TE()float getMS() /重新定义纯虚函数 return Teacher:getMS()+Exp:otherM ; void save() /用f4.dat文件保存教师兼职实验员信息 outfile.open(f4.dat,ios:app); /这里是追加方式 outfilesetw(10)numsetw(20)namesetw(10)workhourendl; outfile.close(); TE();class PT:public Pol,public Teacher /行政人员兼职教师类public: PT() float getMS() /重新定义纯虚函数 return Pol:getMS()+Teacher:getTM(); void save() /用f5.dat文件保存行政人员兼职教师的信息 outfile.open(f5.dat,ios:app); /这里是追加方式 outfilesetw(10)numsetw(20)namesetw(10)workhourendl; outfile.close(); PT();int main() int Num; /工号变量 int i; int M; /用于记输入的人数 string rname; /用于保存读出的姓名 int rnum; /用于保存读出的工号 int rworkhour; /用于保存读出的工时 Teacher t300; /开辟一个可容纳300对象的数组 Exp e150;Pol p150;TE te100;PT pt80;/f1.dat是追加方式,故要先清空其内容 outfile.open(f1.dat,ios:out); outfile.close();cout输入教师总数:M; for(i=0;iM;i+) /下用于输入教师信息并保存于文件中 cout输入第i+1个教师的信息:ti.workhour; ti.save(); /f2.dat是追加方式,故要先清空其内容 outfile.open(f2.dat,ios:out); outfile.close(); cout输入实验员总数:M; for(i=0;iM;i+) /用于输入实验员信息并保存于文件中 cout输入第i+1个实验员的信息:; ei.save(); /f3.dat是追加方式,故要先清空其内容 outfile.open(f3.dat,ios:out); outfile.close(); cout输入行政人员总数:M; for(i=0;iM;i+) /用于输入行政人员信息并保存于文件中 cout输入第i+1个行政人员的信息:; pi.save(); /f4.dat是追加方式,故要先清空其内容 outfile.open(f4.dat,ios:out); outfile.close(); cout输入教师兼职实验员总数:M; for(i=0;iM;i+) /用于输入教师兼职实验员信息并保存于文件中 cout输入第i+1个教师兼职实验员的信息:tei.workhour; tei.save(); /f5.dat是追加方式,故要先清空其内容 outfile.open(f5.dat,ios:out); outfile.close(); cout输入行政人员兼职教师总数:M; for(i=0;iM;i+) /用于输入行政人员兼职教师信息并保存于文件中 cout输入第i+1个行政人员兼职教师的信息:pti.workhour; pti.save(); cout请输入要查询职工的工号:Num; infile.open(f1.dat,ios:in); /以输入方式打开文件 for(i=0;irnumrnamerworkhour; /读入教师信息 if(Num=rnum) /当输入的工号为读入的工号时,输出以下信息 cout工号:rnum 姓名:rname 工时:rworkhour 月薪 ti.getMS()endl; infile.close(); /关闭文件 infile.open(f2.dat,ios:in); /以输入方式打开文件 for(i=0;irnumrname; /读入实验员信息 if(Num=rnum) /当输入的工号为读入的工号时,输出以下信息 cout工号:rnum 姓名:rname 月薪 ei.getMS()endl; infile.close();infile.open(f3.dat,ios:in); /以输入方式打开文件 for(i=0;irnumrname; /读入行政人员信息 if(Num=rnum) /当输入的工号为读入的工号时,输出以下信息 cout工号:rnum 姓名:rname 月薪 pi.getMS()endl; infile.close();infile.open(f4.dat,ios:in); /以输入方式打开文件 for(i=0;irnumrnamerworkhour; /读入教师兼职实验员信息 if(Num=rnum) /当输入的工号为读入的工号时,输出以下信息 cout工号:rnum 姓名:rname 工时:rworkhour 月薪 ti.getMS()endl; infile.close(); infile.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论