欢迎来到天天文库
浏览记录
ID:1172608
大小:674.50 KB
页数:15页
时间:2017-11-08
《11面向对象编程技术课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、面向对象编程技术课程设计报告书专业:班:级:计0841姓名:王倩倩学号:X0818420332010年6月13目录1某学校对员工的奖金管理系统11.1问题认识与分析11.2程序功能说明,程序结构图11.4代码说明21.4.1开发环境21.4.2主要开发步骤21.5操作说明61.6设计开发过程中,遇到的主要问题以及解决方法62MFC计算器设计72.1问题认识与分析72.2程序功能说明,程序结构图72.4代码说明72.4.1开发环境72.4.2主要开发步骤7参考文献资料15131某学校对员工的奖金管理系统1.1问题认识与分析此控制台程序
2、,我们要对管理人员按其职务发固定的岗位奖,对专职教师按其职称和月任课时数计发业绩奖,对既有管理工作又兼授课的人员按岗位奖加月任课时数乘某系数之和为奖金数。我们可以建立一个抽象类,具有员工的基本数据成员,计算月奖金和显示信息的成员函数。由于不同人员的奖金计算方法不同,所以将这两个成员函数声明为虚函数。以抽象类为基类派生出三种不同人员类,有派生类对月奖金和显示信息函数进行重载。主函数实现动态调用,计算个人员的月奖金。1.2程序功能说明,程序结构图管理人员兼教师类:奖金=固定岗位奖+上课时间*每小时奖金+级别(1——5级)*某系数;专职教
3、师类:奖金为上课时间*每小时奖金数+级别(1——5级)*某系数;校园管理人员类:奖金发放固定岗位奖+级别(1——5级)*某系数;基本抽象类:employee无对象,派生其他类1.4代码说明C++面向对象的编译方法131.4.1开发环境MicrosoftVisualC++6.01.4.2主要开发步骤Employee.h#includeusingnamespacestd;classemployee{protected:charname[20];intindividualempno;floataccumpay;stat
4、icintemployeeno;public:employee();~employee();virtualvoidpay()=0;voidsetname(char*names);char*getname();intgetindividualempno();floatgetaccumpay();};classteacher:virtualpublicemployee{protected:intgrade;floathourlyrate;intworkhours;public:teacher();voidsetgrade(intg);i
5、ntgetgrade();voidsetworkhours(intw);voidpay();};classtechnician:virtualpublicemployee{protected:floatmonthlypay;public:13technician();voidpay();};classmanager:publictechnician,publicteacher{private:floatk;public:manager();voidpay();};intemployee::employeeno=1000;employ
6、ee::employee(){individualempno=employeeno++;accumpay=0.0;}employee::~employee(){}voidemployee::setname(char*names){strcpy(name,names);}char*employee::getname(){returnname;}floatemployee::getaccumpay(){returnaccumpay;}intemployee::getindividualempno(){returnindividualem
7、pno;}teacher::teacher(){hourlyrate=50;}voidteacher::setworkhours(intw){workhours=w;}voidteacher::setgrade(intg)13{grade=g;}intteacher::getgrade(){returngrade;}voidteacher::pay(){accumpay=(hourlyrate*workhours)*grade;}technician::technician(){monthlypay=2000;}voidtechni
8、cian::pay(){accumpay=monthlypay;}manager::manager(){k=0.6;hourlyrate=100;monthlypay=2000;}voidmanager::pay(){accumpay
此文档下载收益归作者所有