程序设计报告(/学年第学期)题目:模拟工资管理系统专业学号姓名指导教师指导单位日期成员分工组长组员(/)组员(/)评分细则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简短评语教师签名:年月日评分等级备注评分等级共五种:优秀、良好、中等、及格、不及格模拟工资管理系统一、课题内容和要求模拟工资管理系统是一个单位最基本的一项财务管理系统,该系统要求实现一个简单、实用的财务管理程序,主要功能包括员工信息的录入、查找、修改、删除、统计、排序、查看等。所有帐务数据都要利用文件系统保存,以备系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些基本算法思想的应用。另外,该程序还可以让每个职工更改自己的密码,查看自己的信息。【基本要求】管理员:1)以密码登录系统2)录入员工信息具体工资,计算相应的税金(计算规则参见最新公布的政策)3)查询并显示所有的员工具体信息4)显示统计信息:员工数目,工资总数和税金总数5)按照指定条件查询6)增删具体员工记录税金政策基本是不同收入等级的工资使用不同的比例收取税金。类似于下表:工资税金0~15000%1500~250010%(超出部分)2500~350015%(超出部分)3500~500020%(超出部分)5000~1000030%(超出部分)10000~40%(超出部分)员工:1)以工号为登录ID,密码自己设定;2)可以查询本人的相关信息;3)系统提供指定时间间隔的查询功能。二、需求分析功能框架图:(见图2-1)图2-1设计要求:1)根据工资管理系统的数据信息要求,设计合适的数据结构(如结构数组、简单链表等)。2)选择文件存储格式(文本或二进制)和文件名。3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确函数原型。5)根据设计结果分步开发实现各模块,最后进行总体集成。添加职工查看信息修改信息信息统计库显示删除职工职工排序查找职工保存信息信息查询退出程序退出程序修改密码用户登录管理员登录模拟工资管理系统三、概要设计1)主要的类:classWorker{//职工类public:Worker(){}~Worker(){}voidShow();//职工信息显示doubleGetTax();//获取缴税doubleGetPay();//获取实发工资charPw[20];//职工密码friendclassWorkers;//将职工群类作为职工类的友元类private:stringID,name,sex,edu,address,tel;//工号,姓名,性别,教育程度,住址,电话intage;//年龄doublesalary,tax,pay;//月薪,税金,实际收入};classWorkers{//职工群类private:Workerw[N];//N个职工intNUM;//用来计算职工数目intcount;//用来计算当前程序新添加的职工数目doubletsalary=0,ttax=0;//工资总数,税金总数public:Workers(){}~Workers(){}intNum();//计算并返回文件已包含的职工数量voidadd();//职工信息添加voidSort();//职工信息排序voidSearch();//查找职工信息函数(查找已保存的职工)voidDelete();//职工信息删除voidAmend();//职工信息修改voidSave();//职工信息以文件形式保存voidShowsaved();//职工信息显示函数(显示文件中的内容)voidShowcur();//读取并显示职工信息(当前输入的信息)stringGetID(int);//获得职工工号voidShow(int);//用户登录时显示当前用户信息voidTotal();//统计信息并且显示voidChangePw();//用户修改密码};2)主要函数流程图:(1)执行函数(Execute):申请一个职工群类,调用所有的函数,程序中所有的步骤都在这里执行(从登录到退出程序)。(见图3-1)图3-1执行函数(1)添加函数(add):输入职工信息,用数组存入内存。然后用save()函数保存。图3-2添加函数(3)保存函数(save):将输入的信息追加存入到文件中。图3-3添加函数(4)查找函数(showcur):根据用户输入的选项,去选择工号、姓名、性别、学历……其中之一进行查找符合要求的所有职工,并输出到屏幕上。图3-4查找函数(5)修改函数(Amend):输入工号以确定要修改的职工,如果存在该职工则再输入要修改的项目,修改完成后保存到文件。图3-5修改函数(6)排序函数(sort):输入排序标准,根据姓名、工资等升序降序排序并保存。图3-6排序函数(7)删除函数(delete):打开文件,输入工号确定删除的职工,删除后保存。图3-7删除函数(8)库显示函数(showsaved):打开文件,读取并显示到屏幕上,关闭文件。图3-8库显示函数(9)修改密码(ChangePw):输入旧密码正确后才能修改,连续输入两次相同新密码才修改成功。图3-9修改密码函数