工资管理系统c++课程设计_第1页
工资管理系统c++课程设计_第2页
工资管理系统c++课程设计_第3页
工资管理系统c++课程设计_第4页
工资管理系统c++课程设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

面向对象程序设计课程设计报告信息工程学院信息管理系二一一年一月题目建立企业工资计算及管理系统一、题目要求采用面向对象程序设计思想,利用文本文件来存储数据,实现数据的输入,处理,查询(按姓名,编号,职业,对应员工工资分布情况查询)等功能,并自动计算出工资。二、需求分析实现数据的输入及处理、编辑、管理、查询(按姓名,编号,职业,对应员工工资分布情况查询)数据输入的根据题意,输入员工的信息,包括职业,姓名,编号及对应的工资处理数据,系统会进行处理。查询根据题意,按照姓名、编号、职业、对应员工工资分布情况进行查询三、设计思路1、对象设计抽象类EMPLOYEE,对应产生3个派生类TECHNICIAN,SALESMAN,MANAGER,再把SALESMAN,MANAGER,SALESMAN与MANAGER作为虚基类派生出一个SALESMANAGER类,从而避免二义性问题。2、TECHNICIAN,SALESMAN,MANAGER,SALESMANAGER都用将用到PAY与DISPLAY两个函数,而且都是派生得到,于是在基类中设置了虚函数PAY与DISPLAY3、函数的设计设置了6个函数,分别为添加员工及工资计算,按姓名查询,按编号查询,按职业查询,对应员工工资分布情况查询,查看所有员工信息4、6个函数分别设为类的友元函数,可以访问私有成员。5、采用文本文件存储数据。四、详细设计1类定义/CLASSEMPLOYEE/雇员类类中函数EMPLOYEE/雇员构造函数VIRTUALVOIDPAY0/雇员工资计算虚函数VIRTUALVOIDDISPLAY0/雇员工资显示虚函数FRIENDVOIDADD/添加员工及工资计算友元函数FRIENDVOIDVISITNAME/按姓名查询友元函数FRIENDVOIDVISITNUM/按标号查询友元函数FRIENDVOIDVISITPROFESSION/按职业查询友元函数FRIENDVOIDSEARCHPAY/对应员工工资分布情况查询友元函数FRIENDVOIDOUTPAY/打印员工工资FRIENDVOIDOUTPAYEMPLOYEE/雇员析构函数变量NO/编号NAME20/姓名SALARY/工资/CLASSTECHNICIAN/兼职技术人员类类中函数TECHNICIAN/兼职技术人员构造函数VOIDPAY/兼职技术人员工资计算函数VOIDDISPLAY/兼职技术人员工资函数TECHNICIAN/兼职技术人员析构函数FRIENDVOIDADD/添加员工及工资计算友元函数FRIENDVOIDVISITNAME/按姓名查询友元函数FRIENDVOIDVISITNUM/按标号查询友元函数FRIENDVOIDVISITPROFESSION/按职业查询友元函数FRIENDVOIDSEARCHPAY/对应员工工资分布情况查询友元函数FRIENDVOIDOUTPAY/打印员工工资变量NO/编号NAME20/姓名SALARY/工资HOURLYRATE/每小时的工作费用WORKHOURS/工作时间/SALESMAN类中函数SALESMAN/销售人员构造函数VIRTUALVOIDPAY0/销售人员工资计算虚函数VIRTUALVOIDDISPLAY0/销售人员工资显示虚函数FRIENDVOIDADD/添加员工及工资计算友元函数FRIENDVOIDVISITNAME/按姓名查询友元函数FRIENDVOIDVISITNUM/按标号查询友元函数FRIENDVOIDVISITPROFESSION/按职业查询友元函数FRIENDVOIDSEARCHPAY/对应员工工资分布情况查询友元函数FRIENDVOIDOUTPAY/打印员工工资SALESMAN/销售人员析构函数变量NO/编号NAME20/姓名SALARY/工资COMMRATE/提成SALES/销售量/MANAGER类中函数MANAGER/经理构造函数VIRTUALVOIDPAY0/经理工资计算函数VIRTUALVOIDDISPLAY0/经理工资显示函数MANAGER/经理析构函数FRIENDVOIDADD/添加员工及工资计算友元函数FRIENDVOIDVISITNAME/按姓名查询友元函数FRIENDVOIDVISITNUM/按标号查询友元函数FRIENDVOIDVISITPROFESSION/按职业查询友元函数FRIENDVOIDSEARCHPAY/对应员工工资分布情况查询友元函数FRIENDVOIDOUTPAY/打印员工工资变量NO/编号NAME20/姓名SALARY/工资MONTHLYPAY/月工资/CLASSSALESMANAGER/销售经理类中函数EMPLOYEE/销售经理构造函数VIRTUALVOIDPAY0/销售经理计算函数VIRTUALVOIDDISPLAY0/销售经理工资显示函数FRIENDVOIDADD/添加员工及工资计算友元函数FRIENDVOIDVISITNAME/按姓名查询友元函数FRIENDVOIDVISITNUM/按标号查询友元函数FRIENDVOIDVISITPROFESSION/按职业查询友元函数FRIENDVOIDSEARCHPAY/对应员工工资分布情况查询友元函数FRIENDVOIDOUTPAY/打印员工工资EMPLOYEE/销售经理析构函数变量NO/编号NAME20/姓名SALARY/工资MONTHLYPAY/月工资SALES/销售量2变量定义MANAGERM50/经理指针TECHNICIANT50/兼职技术人员指针数组SALESMANS50/销售人员指针数组SALESMANAGERSM50/销售经理指针数组OUTFILE/文件名SNUM/销售人员数量TNUM/兼职技术人员数量MNUM/经理人数量SMNUM/销售经理人数量3、重要函数VOIDADD/添加员工及工资计算VOIDVISITNAME/按姓名查询VOIDVISITNUM/按标号查询VOIDVISITPROFESSION/按职业查询VOIDSEARCHPAY/对应员工工资分布情况查询VOIDOUTPAY/打印员工工资重要类CARRAY是内存管理的类。可以在任意位置插入数据,删除数据,并自动重新排好。这样给程序带来了不少方便CARCHIVE允许一个二进制(通常为磁盘存储)的形式保存一个对象的复杂网络。把归档的对象看成一种二进制流,归档与文件有关,并允许写缓冲区及从硬盘读出或读入数据。五、设计流程A函数流程开始添加成员与工资计算按姓名查询按编号查询功能选择按职业查询对应员工工资分布情况输出员工工资分布情况B界面流程1主页面2添加成员与工资计算结束3按编号查询4按职业查询5按对应职业员工分布情况查询6输出所有员工工资六、调试分析调试过程中一些常见的小错误就不说了。调试中主要遇到的问题有二1定义了类的变量数组,放在主函数之外时,不能编译成功,于是定义类的指针变量数组进行操作,就可以在类外进行了。2两个基类派生出一个类时,出现二义性问题,用虚基类解决了。3部分函数不能调用类中的私有成员,用友元函数得以解决。七、心得体会经过一星期的课程实习,重设计到实现,虽然花费了不少时间,但也学到了很多。主要总结以下几点1运用面向对象程序设计的思想。并将文件读入,读出,多态,派生,虚基类,虚函数,合理整合并运用在代码中,实现程序。2程序代码实现是个耐性,细心的过程,写完一段,调试一段,遇到问题,分析问题,解决问题,事半功倍。3提高了动手能力。课程设计虽然技术了,C是一块很大的领域,还有很多地方和知识点不了解,要我们不断地学习,探索,思考,提高我们的能力。八、源代码INCLUDEINCLUDEINCLUDEINCLUDECLASSEMPLOYEEPROTECTEDINTNOCHARNAME20FLOATSALARYPUBLICEMPLOYEECOUTNOCOUTNAMESALARY0VIRTUALVOIDPAY0VIRTUALVOIDDISPLAY0FRIENDVOIDADD/添加员工及工资计算FRIENDVOIDVISITNAME/按姓名查询FRIENDVOIDVISITNUM/按标号查询FRIENDVOIDVISITPROFESSION/按职业查询FRIENDVOIDSEARCHPAY/对应员工工资分布情况查询FRIENDVOIDOUTPAYEMPLOYEECLASSTECHNICIANPUBLICEMPLOYEEPRIVATEFLOATHOURLYRATEINTWORKHOURSPUBLICTECHNICIANHOURLYRATE100VOIDPAYCOUTWORKHOURSSALARYHOURLYRATEWORKHOURSVOIDDISPLAYCOUTSALESSALARYSALESCOMMRATEVOIDDISPLAYCOUTSALESSALARY5000COMMRATESALESVOIDDISPLAYCOUTOPTIONOUTFILEOPEN“TEXT“,IOSOUTIFOUTFILECOUTOPTIONOUTFILECLOSEVOIDADDFLAG1WHILEFLAG0COUTFLAGSWITCHFLAGCASE2TTNUMNEWTECHNICIANTTNUMPAYTTNUMDISPLAYOUTFILENAMENOSALARYPAYSSNUMDISPLAYOUTFILENAMENOSALARYPAYMMNUMDISPLAYOUTFILENAMENOSALARYPAYSMSMNUMDISPLAYOUTFILENAMENOSALARYNAMEINTSIGN40FORI0INAME,NAME0COUTNAMENOSALARYNAME,NAME0COUTNAMENOSALARYNAME,NAME0COUTNAMENOSALARYNAME,NAME0COUTNAMENOSALARYNOINTSIGN40FORI0INONOCOUTNAMENOSALARYNONOCOUTNAMENOSALARYNONOCOUTNAMENOSALARYNONOCOUTNAMENOSALARYPROFESSIONSWITCHPROFESSIONCASE1IFSNUM0COUTNAMENOSALARYNAMENOSALARYNAMENOSALARYNAMENOSALARYFLAGSWITCHFLAGCASE1IFSNUM0COUTSALARYSALARYKJSTRCPYNAME,SINAMESTRCPYSINAME,SKNAMESTRCPYSKNAME,NAMESALARYSISALARYSISALARYSKSALARYSKSALARYSALARYNOSINOSINOSKNOSKNONOFORI0INAMENOSALARYSALARYSALARYKJSTRCPYNAME,TINAMESTRCPYTINAME,TKNAMESTRCPYTKNAME,NAMESALARYTISALARYTISALARYTKSALARYTKSALARYSALARYNOTINOTINOTKNOTKNONOFORI0INAMENOSALARYSALARYSALARYKJSTRCPYNAME,MINAMESTRCPYMINAME,MKNAMESTRCPYMKNAME,NAMESALARYMISALARYMISALARYMKSALARYMKSALARYSALARYNOMI

温馨提示

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

评论

0/150

提交评论