蒋兴 面向概论.docVIP

  • 5
  • 0
  • 约9.27千字
  • 约 14页
  • 2018-07-17 发布于湖北
  • 举报
滨江学院 面向对象程序设计题 目 工资管理系统 院 系 滨江学院计算机系专 业 测控技术与仪器 学生姓名 蒋兴 学 号 20122341011 指导教师 姜青山 二0 一四 年 十二 月 二十 日 1、需求分析工资是企业按劳动制度的规定支付给职工的劳动报酬,包括基本工资、奖金及各种津贴。工资核算与管理正确与否关系到企业每一个职工的利益,对于调动每一个职工的的工作积极性、正确处理企业与职工之间的经济关系具有重要意义。此外,工资是企业生产过程中活劳动的耗费,是构成产品成本的重要要素,正确核算和管理工资是有效控制成本中的人工费用,降低产品成本的前提。 工资管理系统的主要任务是通过工资费用的计算和分配,为成本核算与账务处理提供依据,并且根据工资制度和职工劳动数量与质量,计算并发放应该支付给职工的工资。工资核算是工资管理的重要内容。工资核算包括工资结算与工资分配两个方面。工资结算是指应付工资、代扣款项和实发工资的计算;工资分配是指按部门、类别进行工资汇总,并按工资的用途对工资进行分配2、总体设计职工工资管理系统结构框架职工工资管理系统图职工工资管理系统输出主菜单输出主菜单输入选项输入选项添加职工工资信息删除职工工资信息修改职工工资信息输出全体职工工资信息输出指定职工工资信息添加职工工资信息删除职工工资信息修改职工工资信息输出全体职工工资信息输出指定职工工资信息结束RemovrItem().List()Search()Replace()AddItem()DoFind()List()DoMotify()DoDelete()AddNew()结束RemovrItem().List()Search()Replace()AddItem()DoFind()List()DoMotify()DoDelete()AddNew()退出退出3、详细设计: 3.1、程序具体功能:该工资管理系统可以分为5个模块,每个模块都有其对应的功能以及其设计。下面对系统的功能和模块的实现进行简要分析。(1)输入模块输入模块的功能是创建存储职工工资信息的存储系统以及添加某职工的工资信息。其中的信息包括职工编号,基本工资,津贴,房租,交通费以及银行储蓄。为实现输入的功能,有两个方面的任务:定义结构体以及建立链表。 = 1 \* GB3 ①定义结构体 结构体的名称为Worker_pay,其中包含的信息有职工编号(num),基本工资(pay[0]),津贴(pay[1]),房租(pay[2]),交通费(pay[3]),储蓄(pay[4])以及个人所得税(tax),应扣数(deduct),实发数(actualpay)。定义一个pay的数组时为了简化变量的定义,使程序更有条理。 ②建立链表 通过从表尾插入的方法来建立链表,首先要先设立一个头指针(head)来存放链表的首地址。然后,不断用new运算符生成一个新的起点,将这个起点链入已有的链表尾部;如果链表中还没有结点,则这个新结点将是首结点,否则,将新结点的地址赋给原有链表的尾结点的next指针。(2)删除模块删除模块的功能是删除某职工的工资信息。当然,信息包括所有输入的信息,以及程序内部函数计算的信息例如个人所得税,实发数。从一个链表中删去一个结点,首先从表头开始,找到被删结点后,只要改变链接关系即可,使被删结点的前去结点的指针域指向被删结点的后继结点。如果删去的结点是首结点,则将第二个结点的地址作为新的链表的首地址返回;如果删去的结点是链尾,则将被删结点的前驱作为新的链尾。(3)修改模块修改模块的功能是修改某职工的部分工资信息。要修改某职工的信息首先必须从表头开始搜寻,当找到指定的编号是,重新对其赋值即可。(4)查找模块查找模块的功能就是输出指定编号职工的工资信息。查找链表中的信息时比较简单的,在上面的模块中也用到了,主要是注意查找叶必须从表头开始。(5)列表模块列表模块的功能是输出当月全体职工的工资信息。列表模块就是依次输出链表中各结点的数据。首先要知道链表头结点的地址,也就是head的值,然后设一个指针变量p,先指向第一个结点,输出p所指结点的数据与的值,然后使p后移一个结点,再输出其数据与的值;依链表顺序而行,依次输出相应结点数据域的值,直到链表的尾结点。(5)调试过程中遇到的主要问题及解决办法①设计初期,先完成初步构思,写出主函数。然后对主函数所涉及的各个模块进行编程,将各个模块利用指针和链表联系起来。在环境中进行调试,应一边编译,一边调试,并且要一个模块一个模块的调试。直至此模块完全没有错误时,在进入下一模块的调试。不能直接输入全部的代码一次性调,这样错误会很多,并且不易找出和修改。在

文档评论(0)

1亿VIP精品文档

相关文档