您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 工资管理系统课程设计报告89485880
2009~2010学年度第一学期######3学院#########科学学院课程设计报告册课程设计名称:工资管理系统专业:计算机科学与技术班级:学号:姓名:指导老师:一、需求分析题目:工资管理系统总体设计目标:使用者可以利用此系统进行对工资管理的各项运算操作,如根据用户提供的客户工资自动地进行计算实发工资,查找职工信息数据,删除记录,插入记录,保存记录及按实发工资排序等,最后清晰完整的工资管理结果显现在屏幕中。大大方便使用者对工资管理的统计操作,这样不仅可以提高效率,而且方便易操作。二、总体设计1、概述该系统采用了自上而下、层层紧扣的模块结构。对于最高模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简单的模块。对低层模块,采用以变换为中心的设计策略。为了提高每个小模块的内聚性、降低模块间的耦合性,将每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。2、模块说明书A.工资管理系统总控模块的模块说明书模块名称:工资管理系统总控模块输入:主菜单选择项输出:整个所有职工的信息处理:1.按以下格式显示主菜单和提示使用者选择:工资管理系统:0读取文件信息1职工数据输入2显示职工工资3查找职工工资4增加职工工资5删除职工工资6修改职工信息7保存信息8安全退出系统2.接收主菜单选择项如果选择项的值为0,调用读取文件信息子模块。如果选择项的值为1,调用职工数据输入子模块。如果选择项的值为2,调用显示职工工资子模块。如果选择项的值为3,调用查找职工工资子模块。如果选择项的值为4,调用增加职工工资子模块。如果选择项的值为5,调用删除职工工资子模块。如果选择项的值为6,调用修改职工信息子模块。如果选择项的值为7,调用保存信息子模块如果选择项的值为8,安全退出系统B.插入工资记录子模块说明书模块名称:插入工资记录模块输入:根据给定员工的编号,姓名,基本工资进行添加输出:该员工的工资信息处理:按以下格式显示子菜单和提示使用者选择:插入员工工资系统⑴请按提示输入要插入的员工的编号⑵在第二菜单中输入员工的号码,姓名,基本工资⑶回车返回主菜单C.保存文件子模块说明书模块名称:保存文件子模块输入:所需保存的员工的姓名输出:保存成功该员工资料处理:按以下格式显示子菜单和提示使用者选择:保存文件系统⑴请按提示输入要保存的员工资料的员工姓名(此员工资料之前已经确定插入)⑵回车显示保存成功⑶回车返回主菜单D.计算实发工资子模块说明书模块名称:计算实发工资子模块输入:员工的工资扣款输出:员工的应发工资,税金,实发工资处理:按以下格式显示子菜单和提示使用者选择:计算实发工资系统⑴首先,要先插入、保存好员工的工资信息⑵按号码排序提示,输入该员工的扣款,回车得到员工的应发工资,税金,实发工资⑶依次填入其它员工的扣款即得到所有员工的应发工资⑷计算完后回车返回主菜单E.查找记录子模块说明书模块名称:查找员工工资记录子模块输入:要查找的员工编号及姓名输出:所要查找的员工的工资信息处理:1.按以下格式显示子菜单和提示使用者选择:查找员工工资系统输入所要查找的员工工资的编号,回车2.⑴显示出所查员工的工资信息,回车返回主菜单⑵显示不出所查员工任何信息,出现查不到的情况,回车返回主菜单F.删除记录子模块说明书模块名称:删除员工工资记录子模块输入:根据给定员工的号码进行删除输出:整个员工的所有工资资料处理:按以下格式显示子菜单和提示使用者选择:删除员工工资记录系统⑴请输入要删除的员工工资的员工号码⑵回车确定删除⑶再次回车返回主菜单G.按实发工资升序排序子模块说明书模块名称:按实发工资升序排序子模块输入:根据给定的学生的实发工资从小到大进行排序输出:已经排好序的员工实发工资的序列处理:按以下格式显示子菜单和提示使用者选择:按实发工资升序排序系统⑴对已经保存过的员工资料,按提示回车⑵系统自动完成对员工实发工资由小到大的顺序进行排序⑶回车返回主菜单三、详细设计1.“工资管理系统总控模块”的详细设计⑴概述本模块的详细设计依据是:总体设计中的“A.工资管理系统的总控模块说明书”。⑶程序流程图如下169C语言课程设计2.“计算实发工资子模块”的详细设计⑴本模块的详细设计的依据是:总体设计中的“D.计算实发工资子模块”的模块说明书。⑵程序流程图如下:开始定义整型变量x=0显示操作项目让使用者选择,输入员工号码如果存在,输入扣款,不存在返回得实发工资返回3.“查找记录子模块”的详细设计⑴本模块的详细设计的依据是:总体设计中的“E.查找记录子模块”的模块说明书。⑵程序流程图如下:开始定义整型变量x=1输入所要查找的员工工资姓名显示查找结果显示不存在返回4.“删除记录子模块”的详细设计⑴本模块的详细设计的依据是:总体设计中的“F.删除记录子模块”的模块说明书。⑵程序流程图如下:开始定义整型变量x=2输入要删除的员工工资的员工号码存在对象,回车确定不存在该对象删除返回5.“插入工资记录子模块”的详细设计⑴本模块的详细设计的依据是:总体设计中的“B.插入工资记录子模块”的模块说明书。⑵程序流程图如下:开始定义整型变量x=3输入要插入的员工的号码输入员工的号码,姓名,基本工资确定,退出保存输入错误返回6.“保存文件子模块”的详细设计⑴本模块的详细设计的依据是:总体设计中的“C.保存文件子模块”的模块说明书。⑵程序流程图如下:开始定义整型变量x=4输入所需保存的员工的姓名保存员工工保存不成功资资料成功返回7.“按实发工资升序排序子模块”的详细设计⑴本模块的详细设计的依据是:总体设计中的“G.按实发工资升序排序子模块”的模块说明书。⑵程序流程图如下:开始定义整型变量x=5根据给定的学生的实发工资从小到大进行排序回车排序成功四、编码1.说明“工资管理系统总控模块”的功能由menu_select函数实现,根据“工资管理系统总控模块”的程序流程图编写menu_select函数。“计算实发工资子模块”的功能由calc函数实现,根据“计算实发工资子模块”的程序流程图编写calc函数。“查找记录子模块”的功能由find根据“查找记录子模块”的程序流程图编写search函数。“删除记录子模块”的功能由cancel根据“删除记录子模块”的程序流程图编写delete函数。“插入记录子模块”的功能由insert函数实现,根据“插入记录子模块”的程序流程图编写insert函数。“保存记录子模块”的功能由save函数实现,根据“插入记录子模块”的程序流程图编写save函数。“按实发工资升序排序子模块”的功能由sort函数实现,根据“按实发工资升序排序子模块”的程序流程图编写sort函数。2、源程序代码如下://***************************************************************************************************************************//------------职工工资管理系统//程序清单:#includeiomanip#includeiostream#includefstream#includemalloc.h#includestdlib.h#includestring.h#includelimits#includestdio.h#includeconio.h#defineNULL0intconstN=20;#defineLENsizeof(structstudent)usingnamespacestd;voidMenu();voidPass();intn=0;//定义一个全局变量统计职工人数//-----------定义一个职工信息的结构体structstudent{charname[N];//用来存放姓名charsex[N];//用来存放性别longid;//用来存放编号floatpaid[3];//用来存放工资inttotal;//用来存放总工资structstudent*next;};//--------------职工类classInformation{public:Information();//构造函数.~Information();//析构函数.student*creat();//建立链表voidoutput(student*head);//显示职工信息intcount(student*head);//定义函数count()统计职工总数student*insert(student*head);//指针函数*insert()用来添加职工信息.student*cancel(student*head,longid);//指针函数*cancel()用来删除职工信息.student*find(student*head,longid);//指针函数*find()用来查找职工信息.student*modify(student*head,longid);//指针函数*modife()用来修改职工的信息.voidpaixu(student*head);//定义paixu()函数将职工的总额从大到小排列并输出voidaverage(student*head);//定义职工工资平均值的函数voidsave(student*head);//保存文件信息student*Read();//读取文件信息private:student*p1,*p2,*p3,*head,st;};Information::Information(){cout******************************************************************************\n;cout------------------------欢迎您使用职工工资管理系统------------------------\n;cout******************************************************************************\n\n;//------------------作者的信息和提示/*voidzuozhe(){cout\n\t\t\t本程序制作者:\n\n\t\t\tliuguanghui\n\n\t\t\tTEL:15083781771;cout\n\n\t\t\tMadeByVC6.0++\n\n\t\t\t2009年12月1日\n\n\t\t\t按Enter键进入登陆界面!!;cout\n\n\t\t\t如果需要对原来的信息进行操作,则先选择0读取文件信息\nendl;}*/Information::~Information(){cout******************************************************************************\n;cout------------------------谢谢您使用职工工资管理系统------------------------\n;cout******************************************************************************\n;}//------------建立链表信息student*Information::creat(void)//定义一个指向structstudent的结构体指针函数*creat()用来录入职工信息.{charch[N];n=0;//用来存放职工姓名p1=p2=(student*)malloc(LEN);//调用malloc()函数用来开辟一个新的存储单元cout-------------请建立职工信息表,在姓名处键以#结束输入!-----------
本文标题:工资管理系统课程设计报告89485880
链接地址:https://www.777doc.com/doc-1018432 .html