《c  课程设计-职工工资管理系统设计word格式》_第1页
《c  课程设计-职工工资管理系统设计word格式》_第2页
《c  课程设计-职工工资管理系统设计word格式》_第3页
《c  课程设计-职工工资管理系统设计word格式》_第4页
《c  课程设计-职工工资管理系统设计word格式》_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

课程设计20102011学年第一学期设计题目职工工资管理系统设计院(系)计算机科学与信息工程系专业计算机科学与技术班级学号学生姓名设计时间指导教师提交日期目录20102011学年第一学期11概述311基本功能312拓展功能32课题分析321类的设计322类的实现4221CLASSEMPLOYEE4222CLASSTECHNICIAN5223CLASSSALESMAN6224CLASSSECRETARY6225CLASSMANAGER7226CLASSTECHMANAGER7227CLASEESALESMANAGER83详细设计说明931程序主界面932总体设计方案933程序描述934各菜单功能介绍10341添加员工信息10342添加员工工资10343保存员工信息11344保存员工信息和工资12345读入员工信息12346读取员工信息和工资13347查询单个员工信息工资13348按职务查询员工信息工资14349查询所有员工信息工资143410退出154程序测试15411发现并解决的BUG15412暂时没有解决的问题16413程序测试信息165课程设计总结306软件使用说明307附录(参考文献,原代码)30711参考文献30712原代码311概述11基本功能本程序的基本功能有1添加员工的基本信息,如名字,编号,职位。2添加员工的工资,并自动根据员工的职位计算工资。3存档员工的基本信息。4存档员工当月的基本信息和工资。12拓展功能本程序的拓展功能有1查询单个员工的基本信息和当月工资。2根据职位显示该职位下所有员工的基本信息和当月工资。3查询所有员工的基本信息和当月工资。4从文件中读入员工的基本信息。5从文件中读入员工的基本信息和当月工资2课题分析21类的设计从用户需求中,可以发现5种类型的职员都可以分别设计为一个类。首先,他们都属于雇员,因此可以设计一个基类EMPLOYEE(雇员),然后从中派生出TECHNICIAN(技术人员)类,SALESMAN(销售人员)类、SECRETARY(文秘)类。对于技术经理和销售经理来说,他们都属于经理,所以设计时可以从EMPLOYEE类中派生出一个MANAGER(经理)类作为TECHMANAGER(技术经理)和SALESMAN(销售经理)类的父类。而经理类本身并不对应实际的员工类型,由于技术经理有技术人员和经理的双重特点,因此TECHMANAGER类同时继承TECHNICIAN类和MANGER类;销售经理有销售人员和经理的双重特点,因此SALESMANAGER类同时继承SALESMAN类和MANAGER类。22类的实现221CLASSEMPLOYEE2211类型基类2212声明CLASSEMPLOYEEPROTECTEDSTRINGNUMBERSTRINGNAMEINTSTATUSINTMONTHDOUBLESALARYPUBLICEMPLOYEEINTINFOSTRINGNUM,STRINGNA,INTSTATBOOLSEARCHSTRINGINFOMVIRTUALINTCOUNTSALARYINTRECORDINFOINTRECORDSALARYINTGETSTATUSRETURNSTATUSSTRINGGETNUMBERRETURNNUMBERVOIDSETINFOSTRINGNUM,STRINGNAVOIDSETINFOSTRINGNUM,STRINGNA,INTSTATVOIDSETINFOSTRINGNUM,STRINGNA,INTMO,DOUBLESALVOIDSETMONTHINTMONMONTHMONVOIDSETSTATUSINTSTATSTATUSSTATVOIDSHOW2213成员函数说明成员函数说明EMPLOYEE默认构造函数,执行格式化操作INTINFOSTRINGNUM,STRINGNA,INTSTAT将获得的编号姓名和职位存入PROTECTED成员BOOLSEARCHSTRINGINFOM搜索信息,如果找到返回1,找不到返回0VIRTUALINTCOUNTSALARY虚函数,用于处理动态的工资计算方法INTRECORDINFO将职工基本信息存入文件INTRECORDSALARY将职工基本信息和当月工资存入文件INTGETSTATUS获取该职员的职位STRINGGETNUMBER获取该职员的编号VOIDSETINFOSTRINGNUM,STRINGNA将名字编号存入PORTECTED成员VOIDSETINFOSTRINGNUM,STRINGNA,INTSTAT将名字编号职位存入PORTECTED成员VOIDSETINFOSTRINGNUM,STRINGNA,INTMO,DOUBLESAL将名字编号职位工资存入PORTECTED成员VOIDSETMONTHINTMON将月份存入PORTECTED成员VOIDSETSTATUSINTSTAT将职位存入PORTECTED成员VOIDSHOW显示该职工的所有信息222CLASSTECHNICIAN2221类型派生类从EMPLOYEE中虚拟派生2222声明CLASSTECHNICIANVIRTUALPUBLICEMPLOYEEPROTECTEDINTWORKHOURFLOATHOURLYSALARYPUBLICTECHNICIANINTCOUNTSALARY2223成员函数说明成员函数说明TECHNICIAN默认构造函数,执行格式化操作INTCOUNTSALARY计算工资函数223CLASSSALESMAN2231类型派生类从EMPLOYEE中虚拟派生2232声明CLASSSALESMANVIRTUALPUBLICEMPLOYEEPROTECTEDFLOATSALESUMDOUBLEGETRATEPUBLICSALESMANINTCOUNTSALARY2233成员函数说明成员函数说明SALESMAN默认构造函数,执行格式化操作INTCOUNTSALARY计算工资函数224CLASSSECRETARY2241类型派生类从EMPLOYEE中虚拟派生2242声明CLASSSECRETARYVIRTUALPUBLICEMPLOYEEPRIVATEFLOATFIXEDSALARYFLOATBONUSPUBLICSECRETARYINTCOUNTSALARY2243成员函数说明成员函数说明SECRETARY默认构造函数,执行格式化操作INTCOUNTSALARY计算工资函数225CLASSMANAGER2251类型派生类从EMPLOYEE中虚拟派生2252声明CLASSMANAGERVIRTUALPUBLICEMPLOYEEPROTECTEDFLOATFIXEDSALARYPUBLICMANAGERINTCOUNTSALARY2253成员函数说明成员函数说明MANAGER默认构造函数,执行格式化操作INTCOUNTSALARY计算工资函数226CLASSTECHMANAGER2261类型派生类从TECHNICIAN和MANAGER中派生2262声明CLASSTECHMANAGERPUBLICMANAGER,PUBLICTECHNICIANPRIVATEFLOATGRADEBONUSINTGRADEPUBLICTECHMANAGERINTCOUNTSALARY2263成员函数说明成员函数说明TECHMANAGER默认构造函数,执行格式化操作INTCOUNTSALARY计算工资函数227CLASEESALESMANAGER2271类型派生类从SALESMAN和MANAGER中派生2272声明CLASSSALESMANAGERPUBLICMANAGER,PUBLICSALESMANPRIVATEFLOATMONEYDOUBLERATEPUBLICSALESMANAGERINTCOUNTSALARY2273成员函数说明成员函数说明TECHNICIAN默认构造函数,执行格式化操作INTCOUNTSALARY计算工资函数3详细设计说明31程序主界面32总体设计方案本系统首先设计出了主函数,然后根据去要实现的功能分别设计了添加,保存,读取,查询的功能。在显示的函数设计过程中首先运用了文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。查询是用一个字符串对比的方法找出用户要查找的人,然后打印出来。添加则是通过将学生信息存入类中从而实现添加功能。33程序描述本程序为职工工资管理系统的设计,采用的是类的相关知识点进行操作,拥有添加员工信息,添加员工工资,保存员工信息,保存员工工资,读取员工信息,读取员工信息工资,查询等功能。34各菜单功能介绍341添加员工信息342添加员工工资343保存员工信息344保存员工信息和工资345读入员工信息346读取员工信息和工资347查询单个员工信息工资348按职务查询员工信息工资349查询所有员工信息工资3410退出4程序测试在程序初步完成之后,进行了一系列的程序调试,调试中出现了很多的问题,针对这些问题进一一解决。411发现并解决的BUG1输入编号后若输入的为字符,则程序奔溃通过将编号设定成STRING格式后解决2添加信息时,若已经存在相同的编号则不提示(通过增加查询是否有相同编号解决)3输入职位后若输入的为字符,则程序奔溃通过使用CINGOOD函数解决4菜单栏输入数字进入相应位置时,若输入字符或输入多个数字出现奔溃(通过将CHOICE定义为STRING格式解决)5读入员工信息后,原来输入的员工的工资仍保存于其中(通过读入数据前清空工资解决)6读入员工信息菜单没有提示信息,按入后如果之前有内容将被覆盖(通过添加提示信息提示用户解决)7读入员工信息和工资菜单没有提示信息,按入后如果之前有内容将被覆盖(通过添加提示信息提示用户解决)8添加编号时,如果编号为字符也会被存入(通过判断输入的编号是否存在字符解决)9添加编号时,如果编号为1个数字也会被存入(通过限定编号为4位解决)10添加工资时,若输入为字符则程序奔溃通过使用CINGOOD函数解决11技术人员每月工作时间超过755个小时也会存入(通过限定工作时间小雨755个小时解决)12添加技术经理等级时,若输入为字符则程序奔溃通过使用CINGOOD函数解决13添加技术经理等级时,若输入内容不在13之间也会存入(通过限定范围解决)14退出时,若有未保存的内容,无提示直接退出通过判断是否存在未保存的内容,若存在则提示是否需要保存解决15若在菜单中输入错误5次自动退出时,如果有未保存的内容也会自动退出(通过判断是否存在未保存的内容,若存在则提示是否需要保存解决)16输入月份是,0也可输入通过限定范围解决17读取文件时,如果文件不存在则直接奔溃(通过添加判断是否存在文件解决)412暂时没有解决的问题1程序缺少删除职工信息的功能2程序缺少对编号排序的功能3程序缺少修改职工信息的功能4主菜单仍需要美化5程序无法自定义储存路径和读入路径6销售经理的工资计算仍需要手动输入,无法通过所管理的销售人员的工资自动计算413程序测试信息1欢迎界面2输入月份界面3主菜单界面4添加员工信息5添加员工工资6保存员工信息7保存员工信息工资8读取员工信息9读取员工信息工资10查询单个员工信息工资11按职务查询员工信息和工资12查询所有员工信息工资13主菜单按键错误14主菜单按键错误达到5次退出15输入编号出错信息16输入职位错误信息17添加员工工资已经在提示信息18添加员工工资错误信息19读取员工信息提示信息20读取员工信息和工资提示信息20查询单个员工信息工资没有找到提示21按职务查询员工信息工资不存在提示22查询所有员工信息工资不存在提示23退出时提示保存界面24YESORNO输入错误提示5课程设计总结通过1周的学习,我进一步掌握了C语言类、以及封装知识的用法。我认为一个好的程序不仅是在设计时能够尽量简洁化、易懂化,并且还需要健壮,不能因为一点小错误而导致整个程序出错,并且编写程序时初期构想的思路非常重要,有一个好的思路,才能编出一个好的程序。另外,DEBUG也是关键的一步,通过DEBUG会发现程序中很多存在的漏洞,反应出程序的不足之处,而加以改进。综上,我认为这一次课程设计让我体会到了做一个程序应该有的步骤,为我今后的发展埋下了铺垫。6软件使用说明1本程序开始时会提示用户输入您要统计的职工工资的月份,输入月份后进入主菜单2如果您第一次使用程序,没有员工信息,则请按1,添加员工信息后按3存入一份只含有员工信息的文本,便于日后计算每月的工资而不用再次输入已有的员工,该文本位于CINFOTXT3如果您需要添加员工工资,并且已经添加了员工信息或者读入员工信息,在主菜单按2后您可以添加员工的工资信息,添加完成后不要忘了返回主菜单按4将工资信息保存。保存后,保存的工资信息在CSALARYTXT文件中,您可以拷贝到其他地方。4如果您需要查询员工的工资,您可以通过按6将员工的信息和工资全部读取后,按79进行查询。在查

温馨提示

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

评论

0/150

提交评论