您好,欢迎访问三七文档
课程设计任务书学院信息学院专业计算机科学与技术学生姓名学号题目工资管理系统内容及要求:内容:(列出相应题目)工资管理:自己建立数据文件(提示可建立:职工、工资级别、职工工资)完成:①数据录入②查询(如:职工的平均工资查询、某一级别人员的平均工资查询)③插入、删除、修改④排序(将职工姓名按工资额度进行)等功能。要求:1.设计数据结构,存储结构;2.在Turboc或兼容环境完成上述题目的代码编写与调试;3.程序运行界面交互性好;4.给出两组测试数据。任务交付:1.程序源代码;2课程设计论文及电子文档。进度安排:本课程设计时间为16、17教学周。其中包含设计、代码调试、课程设计论文撰写几个阶段。第1周查找资料、完成初步设计、代码设计与初步调试;第2周调试、测试、验收、课程设计论文撰写、答辩。指导教师(签字):年月日学院院长(签字):年月日目录1、功能需求分析及初步设计...........................................................................................32、概要设计.......................................................................................................................33、详细设计.......................................................................................................................94、测试数据及结果分析.................................................................................................235、课设总结.....................................................................................................................25参考文献...........................................................................................................................26附录...................................................................................................................................261、功能需求分析及初步设计(1)在该部分中叙述整体功能及每个模块的功能要求。(2)所设计文件在C盘下定义“file.dat”文件,将职工信息写入其中。2、概要设计(1)程序中使用的存储结构设计说明structEmployee//声明职工的结构作为链表节点。{intm_Code;//职工代码charm_Name[20];//职工姓名unsignedintm_Wage;//职工工资intm_level;//工资级别structEmployee*Next;//链表节点的指针域};(2)每个部分的算法设计说明。1、整体算法流程图2、Add(Head);函数算法流程图3、Modify(Head)函数算法流程图;4、Del(Head);函数的算法流程图5、Search(Head)函数算法流程图;6、Sort(Head);函数算法流程图7、Display_List(Head);函数算法流程图3、详细设计(1)运行界面截图主界面(菜单选项)图3-1-1职工注册界面(已经注册过两个,此界面为第三个职工注册)图3-1-2信息修改界面(修改代码为22222的职工信息)图3-1-3信息删除界面(删除代码为11111的职工信息)图3-1-4信息查询界面(查询姓名为ww的职工信息)图3-1-5排序界面(按工资从高到低排序)图3-1-6信息显示界面(显示所有职工信息)图3-1-7退出系统界面图3-1-8(2)相应算法实现的源程序(有注解说明)1、职工注册voidAdd(LinkHead)//前插法添加数据。{LinkpNew;//声明一个新节点。charagain;charname[20];intcode,level;unsignedintwage;do{system(cls);cout\t*************************用户注册系统**************************\nendl;pNew=(Link)newNode;//数据域。cout请输入第n+1个人的信息\nendlendl;cout请输入职工代码:;cincode;Clear(code);coutendl请输入职工姓名:;cinname;coutendl请输入职工工资:;cinwage;sum+=wage;n++;while(cin.fail()){cout请输入正确的工资数据。endl;cin.clear();fflush(stdin);cinwage;}coutendl请输入工资级别(工资级别分为1,2,3三个等级):;cinlevel;Clear(level);while(4=level||level=0){cout工资等级输入错误!endl;cout请重新输入工资级别:;cinlevel;}switch(level){case1:sum1+=wage;n1+=1;break;case2:sum2+=wage;n2+=1;break;case3:sum3+=wage;n3+=1;break;}coutendl;pNew-m_Code=code;strcpy(pNew-m_Name,name);pNew-m_Wage=wage;pNew-m_level=level;//指针域。pNew-Next=Head-Next;Head-Next=pNew;cout数据添加成功!是否继续添加?(Y/N)endl;cinagain;}while(again=='Y'||again=='y');system(pause);system(cls);}2、信息修改voidModify(LinkHead)//修改单一个节点。{system(cls);cout\t*************************信息修改系统**************************\nendl;Linkptr;intcode;charname[20];ptr=Head-Next;coutendl请输入代码:;cincode;Clear(code);while(ptr){if(ptr-m_Code==code){coutendl\t=====================查询结果===================================endl;cout\t\t\tsetw(10)left代码setw(10)left姓名setw(10)left工资setw(10)left级别endl;cout\t================================================================endl;Display_Node(ptr);//打印满足条件的节点。coutendlendl;sum-=ptr-m_Wage;n-=1;switch(ptr-m_level){case1:sum1-=ptr-m_Wage;n1-=1;break;case2:sum2-=ptr-m_Wage;n2-=1;break;case3:sum3-=ptr-m_Wage;n3-=1;break;}intlevel;unsignedintwage;if(ptr){cout\t==============你现在可以修改此职工的信息了!================endl;//数据域。cout请输入职工代码:;cincode;coutendl请输入职工姓名:;cinname;coutendl请输入职工工资:;cinwage;sum+=wage;n++;while(cin.fail()){cout请输入正确的工资数据。endl;cin.clear();fflush(stdin);cinwage;}coutendl请输入工资级别:;cinlevel;Clear(level);while(4=level||level=0){cout工资等级输入错误!endl;cout请重新输入工资级别:;cinlevel;}switch(level){case1:sum1+=wage;n1+=1;break;case2:sum2+=wage;n2+=1;break;case3:sum3+=wage;n3+=1;break;}coutendl;ptr-m_Code=code;strcpy(ptr-m_Name,name);ptr-m_Wage=wage;ptr-m_level=level;cout恭喜你,修改信息成功!endl;system(pause);system(cls);}}ptr=ptr-Next;//查询下一节点。if(ptr=NULL){cout没找到此职工的记录,无法修改。endl;system(pause);system(cls);}}}3、信息删除LinkSearch_Unique_Front(LinkHead)//查询满足“职工代码“的职工信息(职工代码必需唯一)。{Linkptr;intcode;ptr=Head;cout请输入职工代码:;cincode;Clear(code);coutendl\t========================查询结果===========================endl;cout\t\t\tsetw(10)left代码setw(10)left姓名setw(10)left工资setw(10)left级别endl;cout\t==========================================================endl;while(ptr){if(ptr-Next-m_Code==code){Display_Node(ptr-Next);//打印满足条件的节点。returnptr;//注意,是返回的查询到的节点的直接前趋节点。}ptr=ptr-Next;//查询下一节点。}returnptr;}voidDel(LinkHead){system(cls);cout\t*************************信息删除系统**************************\nendl;Linkptr;Linkptr_front;ptr_front=Search_Unique_Front(Head);if(ptr_front){sum-=ptr_front-Next-m_Wage;n-=1;switch(ptr_front-Next-m_level){case1:sum1-=ptr_front-Nex
本文标题:工资管理系统2
链接地址:https://www.777doc.com/doc-7248068 .html