工资管理系统C课程设计.docx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《面向对象程序设计》 课程设计报告 姓名: 叶小波 姚旺富 李成 班级: 信管 082 信息工程学院信息管理系 二〇一一年一月 题目: 建立企业工资计算及管理系统 一、 题目要求 : 采用面向对象程序设计思想,利用文本文件来存储数据,实现数据的输入,处理,查询(按 姓名,编号,职业,对应员工工资分布情况查询)等功能,并自动计算出工资。 二、 需求分析 : 实现数据的输入及处理、编辑、管理、查询(按姓名,编号,职业,对应员工工资分布情况 查询) 数据输入的 -------根据题意,输入员工的信息,包括职业,姓名,编号及对应的工资处理 数据,系统会进行处理。 查询 ------- 根据题意,按照姓名、编号、职业、对应员工工资分布情况进行查询 三、  设计思路 : 1、 对象设计:抽象类  employee ,对应产生  3 个派生类  technician, salesman, manager, 再把 salesman,manager, salesman 与  manager  作为虚基类派生出一个  salesmanager 类,从而避免 二义性问题。 2、 Technician,salesman,manager,salesmanager 都用将用到 pay()与 display()两个函数,而且都是派 生得到,于是在基类中设置了虚函数 pay()与 display(). 3、 函数的设计:设置了 6 个函数,分别为添加员工及工资计算,按姓名查询,按编号查询,按 职业查询,对应员工工资分布情况查询,查看所有员工信息 4、 6 个函数分别设为类的友元函数,可以访问私有成员。 5、 采用文本文件存储数据。 四、 详细设计 : 1. 类定义: 开始 结 束 功能选择 添加成员与 按姓名查询 按编号查询 按职业查询 对应员工工资 输出员工工资 工资计算 分函数不能调用类中的私有成员,用友元函数得以解决。 七、心得体会: 经过一星期的课程实习,重设计到实现,虽然花费了不少时间,但也学到了很多。 主要总结以下几点: 1:运用面向对象程序设计的思想。并将文件读入,读出,多态,派生,虚基类,虚函数,合理整合并运 用在代码中,实现程序。 2.程序代码实现是个耐性 ,细心的过程,写完一段,调试一段,遇到问题,分析问题,解决问题,事半功倍。 3.提高了动手能力。 课程设计虽然技术了, C++是一块很大的领域,还有很多地方和知识点不了解,要我们不断地学习,探索, 思考,提高我们的能力。 八、源代码: #include #include #include #include class employee { protected: int no; char name[20]; float salary; public: employee() { cout职工编号: ; cinno; cout职工姓名 ; cinname; salary=0; } virtual void pay()=0; virtual void display()=0; friend void add();  // 添加员工及工资计算 friend void visitname() ;  // 按姓名查询 friend void visitnum() ;  // 按标号查询 friend void visitprofession();  // 按职业查询 friend void searchpay() ; friend void outpay(); ~employee(){};  // 对应员工工资分布情况查询 }; class technician:public employee { private: float hourlyrate; int workhours; public: technician() { hourlyrate=100; } void pay() { coutname本月工作时数: ; cinworkhours; salary=hourlyrate*workhours; } void display() { cout 兼职技术人员 name(编号为 no) 本 月工资 :salaryendl; } friend void add();  // 添加员工及工资计算 friend void visitname() ;  // 按姓名查询 friend void visitnum() ;  // 按标号查询 friend void visitprofession();  // 按职业查询 friend void searchpay() ; friend void outpay(); ~technician(){};  // 对应员

文档评论(0)

153****3726 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档