C语言课程设计报告-工资管理系统 .doc

上传人:韩长文 文档编号:5089734 上传时间:2020-02-01 格式:DOC 页数:48 大小:573KB
返回 下载 相关 举报
C语言课程设计报告-工资管理系统 .doc_第1页
第1页 / 共48页
C语言课程设计报告-工资管理系统 .doc_第2页
第2页 / 共48页
C语言课程设计报告-工资管理系统 .doc_第3页
第3页 / 共48页
C语言课程设计报告-工资管理系统 .doc_第4页
第4页 / 共48页
C语言课程设计报告-工资管理系统 .doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《C语言课程设计报告-工资管理系统 .doc》由会员分享,可在线阅读,更多相关《C语言课程设计报告-工资管理系统 .doc(48页珍藏版)》请在三一文库上搜索。

1、沈阳工程学院课程设计报告沈 阳 工 程 学 院课程设计任务书课程设计题目:工资管理(第 4 组)系 别 信息工程系 班级 系统本101 学生姓名 XX 学号 2010414112 指导教师 职称 讲师、讲师 课程设计进行地点: 实训F座 任 务 下 达 时 间: 2010年 3月 28日起止日期:2010年3月21日起至2010年3月30日止教研室主任 XX 20 年 月 日批准沈阳工程学院课程设计报告一、课程设计的原始资料及依据目前,随着计算机技术的飞速发展,人工的工资管理显得十分的落后而且效率低下,尤其在查询和计算方面,效率低且误差大。为了适应现代化的环境,许多的管理事务都由电脑来管理,从

2、而提高了管理的速率和效率。查阅有关资料,进一步理解程序设计模块化的思想,并利用此思想编写一个简单的工资管理系统。通过本设计可以加深理解利用程序设计思想开发一个系统的整个流程,从而提高分析问题、解决问题和实际动手的能力。 二、课程设计主要内容及要求1. 认真阅读资料,掌握程序设计模块化的思想。2. 要求在设计的过程中,建立清晰的层次结构。3. 画出主要的功能结构图和主要模块的流程图。4. 输入职工各方面的信息。5. 显示职工的所有和单条记录。6. 计算职工的实发工资。7. 查找、删除和插入职工的记录。8. 保存职工的各方面信息。9. 按职工的实发工资和编号分别进行排序。10. 要求操作简单,用户

3、界面友好。11. 运行程序,检查结果是否和理论值一致。12. 环境使用Turbo C环境。三、对课程设计说明书撰写内容、格式、字数的要求1课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。2在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。4课程设计说明书手写或打印均可

4、。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。5课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。四、设计完成后应提交成果的种类、数量、质量等方面的要求1完成“任务书”中指定的功能,运行结果正确。2课程设计说明书。五、时间进度安排顺序阶段日期计 划 完 成 内 容备注1第1天(03月21日)阅读资料2第23天(03月22日23日)系统分析设计3第48天(03月24日03月28日)

5、程序编制、调试及运行4第9天(03月29日)成绩评定5第10天(03月30日)撰写课程设计说明书六、主要参考资料(文献)1谭浩强.C程序设计(第三版).北京: 清华大学出版社.20062陈天洲.C语言高级程序设计. 北京:人民邮电出版社.2002 3杨旭.C语言程序设计案例教程.北京: 人民邮电出版社.20054郭翠英.程序设计案例经典.中国水利电力出版社.20045谭浩强.程序设计基础.北京:清华大学出版社.20046张翔.C语言函数大全 电子工业出版社.20057王为青.C语言高级编程及实例剖析.北京:人民邮电出版社.2008.028徐慧.C语言实例解析精粹.北京:人民邮电出版社.2006

6、.049姚大鹏 栾好利 张翼英 等编著.C语言程序设计教程习题与上机实训指导.中国水利水电出版社.200510郑莉 董渊 张瑞丰 编着. C+语言程序设计(第3版). 北京:清华大学出版社.2006 沈 阳 工 程 学 院程序设计基础课程设计成绩评定表系(部): 信息工程系 班级: 系统本101 学生姓名: XX 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,

7、难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以8) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以4)分加权分合计

8、评 阅 教 师 签 名: 年 月 日答 辩 小 组 评 审 意 见评价内容具 体 要 求权重评 分加权分学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。0.55432答 辩思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。0.55432答辩小组评审成绩(加权分合计乘以8)分加权分合计答辩小组教师签名: 年 月 日课 程 设 计 总 评 成 绩分沈阳工程学院课程设计报告摘要本报告是系统本101班,XX,XX,XX小组的C语言程序设计的报告,对我们的课程设计做一下简要介绍。第一章为绪论部分

9、,对我们小组的程序设计的题目“工资管理系统”,工作安排,任务分配以及我们小组编写调试程序的软件进行了简单的介绍。另外还有我们组的部分设计思路,主要运用了哪几方面的知识等。第二章为需求分析部分,在这一章对我们小组所要进行的课程设计进行了初步的介绍根据所给的题目确定该系统应有的功能以及编写过程应该注意的问题。第三章为概要设计部分,在这一章用总体模块图与总体流程图对我们做的程序进行了进一步的规划和划分。确定了每个模块应该完成的功能。第四章为详细设计部分,在这一章主要写自己负责的这一部分的流程图。以及自己负责的这一部分的功能,介绍本人怎么编写的,能实现什么功能。运行结果进行了截图说明。另外还包括源代码

10、及注释部分,把自己编写的C语言程序的源代码写出来,并且加上必要的注释。结论部分为自己小组的程序运行界面,以及小组包括自己在这次C语言程序设计中遇到的问题以及问题的处理。后一部分为致谢,在这次C语言程序设计中小组包括自己都遇到了不少的问题,向老师以及同学寻求了很多的帮助。应该对老师和同学们表示感谢。尤其是指导老师和本组的队友。也让我们更加的明白团队密切合作的重要性。附录为本小组的课程设计“工资管理系统”的源代码。最后一部分为参考文献,主要是自己小组在这次课程设计中查阅的书籍,及其相关信息。关键词 C语言程序设计 工资管理系统 模块 团队小组代码沈阳工程学院课程设计报告目录第一章 引言11.1 题

11、目背景11.2 设计目的11.3 解决问题1第二章 C语言的运行环境及其特点62.1 C语言的起源及特点62.2 C语言的7第三章 系统分析与设计83.1系统功能分析83.2 功能设计93.2.1主函数103.2.23.2.3 输入玩家姓名11第四章 系统功能实现274.1主函数274.1.1库函数的调用284.1.2 初始数据的定义4.1.3 全局变量的定义284.2输入游戏玩家姓名功能设计284.3 欢迎界面sethello()功能介绍394.4菜单显示函数jukey()394.5 图形填充功能设计4.5.1 功能及其介绍4.5.2 算法及其代码结论39致谢30参考文献311沈阳工程学院课

12、程设计报告 第一章 引言 第一章 引言1.1题目背景随着经公司规模的发展, 公司的工资管理显得十分的落后而且效率低下,尤其在查询和计算方面,效率低且误差大。为了适应现代化的环境,许多的管理事务都由电脑来管理,从而提高了管理的速率和效率1.2 设计目的为了适应现代化的环境,许多的管理事务都由电脑来管理,从而提高了管理的速率和效率。1.3解决问题这次的程序选择时,这次设计主要通过运用程序设计模块化的思想,运用平时所学知识并查找了大量的资料编写一个工资管理系统。其间遇到过许多的困难,但经过团队的一起努力,都一一克服,其中主要难点如下: 1.面对这个课程设计完全没有头绪和思路。 2.小组组员的任务分工

13、问题。3.该怎样计算工资。这两大问题在刚开始一直困扰着我们,但随着我们大量地查找资料并同老师进行交流,我们渐渐解决了这些问题,并完成了老师的问题!1沈阳工程学院课程设计报告 第三章 系统分析与设计 第二章 C语言的运行环境及其特点2.1 C语言的起源及特点2.1.1 C语言的起源C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL 60。 1960年出现的ALGOL 60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。1963年英国的剑桥大学推出了CPL(CombinedProgram- ming Language)语言。CPL语言在ALGOL 60的基础上接近了硬

14、件一些,但规模比较大,难以实现。1967年英国剑桥大学的Matin Richards对 CPL语言作了简化,推出了BCPL(Basic Combined Programming Language)语言。1970年美国贝尔实验室的 Ken Thompson以 BCPL语言为基础,又作了进一步简化,设计出了很简单的而且很接近硬件的 B语言( 取 BCPL的第一个字母),并用 B语言写第一个UNIX操作系统,在PDP-7上实现。 1971年在PDP-11/20上实现了B语言,并写了UNIX操作系统。但B语言过于简单,功能有限。1972年至 1973年间,贝尔实验室的 D.M.Ritchie在B语言的

15、基础上设计出了C语言(取 BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练、接近硬件),又克服了它们的缺点(过于简单、数据无类型等)。 最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1973年,K.Thom- pson和D.M.ritchie两人合作把UNIX的90%以上用 C改写(UNIX第5版。原来的 UNIX操作系统是1969年由美国的贝尔实验室的 K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的)。 后来,C语言多次作了改进,但主要还是在贝尔实验室内部使用。直到1- 975年UNIX第6版公布后 ,C语言的突出优点才引起

16、人们普遍注意。1977年出现了不依赖于具体机器的C语言编译文本可移植C语言编译程序,使C移植到其它机器时所做的工作大大简化了,这也推动了UNIX操作系统迅速地在各种机器上实现。例如,VAX,AT&T等计算机系统都相继开发了UNIX。随着 UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成。1978年以后,C语言已先后移植到大、中、小、微型机上,已独立于UNIX和PDP了。现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。C语言是国际上广泛流行的计算机高级语言,既可以编写系统软件,又可以编写应用软件。C语言是一种结构化语言。它

17、层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。由于C语言的强大功能和各方面的优点逐渐为人们认识,C语言功能丰富、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写系统软件。C语言在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。2.1.2 C语言的特点1) 语言简洁、紧凑,使用方便、灵活。2) 运算符丰富。3) 数据类型丰富。4) 具有结构化的控制语句(如ifelse语句、while语句、dowhile语句、switch语句、for语句

18、)。5) 语法限制太严格,程序设计自由度大。6) C语言允许访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。7) 生成目标代码质量高,程序执行效率高。8) 用C语言编写的程序可以执行好(与汇编语言比)。 C语言是在TC环境下运行的,如图2-1所示。图2-1 C语言运行界面图2-1 C语言运行界面图2-1 C语言运行界面2.2 C语言的运行步骤 在C程序的运行中,需要尽力下列几个步骤1.进入Turbo C集成环境。2.编辑源文件。3.对源程序进行编译。4.将目标程序进行连接。5.执行程序。6.退出Turbo C。而在平常的学习中可以直接执行程序,即使出现错误,系统

19、也可以发出提示,若没有错误,则可以直接运行。2.2.2Turbo C 2.0内容简介(1)Turbo C 2.0基本配置要求Turbo C 2.0可运行于IBM-PC系列微机,包括XT,AT及IBM 兼容机。此时要求DOS2.0或更高版本支持,并至少需要448K的RAM,可在任何彩、单色80列监视器上运行。支持数学协处理器芯片,也可进行浮点仿真,这将加快程序的执行。(2)下面对Turbo C 2.0的主要文件作一简单介绍:表1.1Turbo C文件INSTALL.EXE 安装程序文件TC.EXE 集成编译TCINST.EXE 集成开发环境的配置设置程序TCHELP.TCH 帮助文件THELP.

20、COM 读取TCHELP.TCH的驻留程序README 关于Turbo C的信息文件TCCONFIG.EXE 配置文件转换程序MAKE.EXE 项目管理工具TCC.EXE 命令行编译TLINK.EXE Turbo C系列连接器TLIB.EXE Turbo C系列库管理工具C0?.OBJ 不同模式启动代码C?.LIB 不同模式运行库GRAPHICS.LIB 图形库EMU.LIB 8087仿真库FP87.LIB 8087库*.H Turbo C头文件*.BGI 不同显示器图形驱动程序*.C Turbo C例行程序(源文件)其中:上面的?分别为:T Tiny(微型模式)S Small(小模式)C C

21、ompact(紧凑模式)M Medium(中型模式)L Large(大模式)H Huge(巨大模式)4沈阳工程学院课程设计报告 第三章 系统分析与设计 第三章 系统分析与设计3.1 系统功能分析根据题目要求,应当把职工工资信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现职工工资浏览,查询,统计等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。可以将系统分为九个模块:1职工工资信息显示模块;2输入职工信息模块;3统计职工工资总合模块;

22、4查询职工工资信息模块;5删除职工信息模块;6修改职工信息模块;7排序职工信息模块;8保存职工信息9功能选择; 具体功能,如图3-1所示:显示职工信息模块职工工资信息浏览模块保存职工信息模块输入职工资信息模块统计职工工资总合模块查询职工工资信息删除职工工资信息工资信息管理系统修改职工信息模块图3-1 工资管理功能图3.2 功能设计1输入记录模块主要完成将数据存入数组中的工作。记录可以从以二进制形式存储的数据文件中读入,也可以从键盘逐个输入记录。2查询模块主要实现在结构体数组中按职工编号或姓名查找满足条件的记录的功能,通过Search()函数来实现。提供两种方式查询:1为按照编号来查询,2按照姓

23、名来查询;如找到查询内容则输出记录值,找不到则提示无此项记录。3显示模块主要是显示职工的各类如性别,工资收入的信息记录。4统计记录模块主要完成对公司员工的工资在各等级的人数统计。5修改记录操作需要先输入要修改职工的编号,然后再根据对要进行的内容进行修改。6删除记录操作完成删除制定的职工编号或者姓名的记录。有两种选择:第一种是编号,第二种是性别,然后程序调用查询模块,当找到编号或姓名时,进行结点的删除。7排序操作主要实现按照月总完成额排序,而总完成额=上旬完成额+中旬完成额+下旬完成额。8信息保存,主要是靠save()子函数。9本程序计算员工的工资是通过上中下旬的完成比来计算奖金的。3.2.1主

24、函数在这次程序的设计中,我主要负责模块化程序,构造主函数,将各个模块进行串连,以此来实现各种功能的融合。在主函数中,我要设计程序运行的流程,其主要流程图如图3-3下: 开始功能选择退出系统对应相应的功能实现,靠Switch语句1-8和0分别对应不同功能的子函数。结束图3-3 主函数功能图3.2.3结构体首先进行结构体的定义。将编号,姓名,性别,上旬完成比,中旬完成比,下旬完成比,平均完成比这几项定义为字符型,浮点型便于以后利用记录,查询。而计算工资时主要是通过上中下旬完成比的总和与100%的差值再乘以奖金,最后加上基本工资来计算的。结构体定义如下:struct member 定义成员char

25、num5; 员工的编号char name15;/ 员工的姓名char sex1;/ 员工的性别float spercent;/ 员工上旬完成比float zpercent; / 员工中旬完成比float xpercent; / 员工下旬完成比float jiangjin; / 员工奖金float zonggong;/ 员工工资float ave; / 平均完成比; 10沈阳工程学院课程设计报告第四章 系统功能实现4.1主函数主函数意位置建立一个独立的进程,是程序的入口,也是函数的出口。对其他各函数调用,当然其他被调用函数也可以调用其他的函数。由于主函数肩负着入口和出口的重任,所以最好不要把太多

26、的细节方面的逻辑直接放在主函数内,这样不利益维护和拓展。主函数应尽量简洁,具体的实现细节应该封装在被调用的子函数里面去。void main() system(color 3f);Link l; int sel; FILE *fp; char ch; printf( 员工工资管理系统n -信息系统本101n XX XX XXn); l=(Node*)malloc(sizeof(Node); l-next=NULL; fp=fopen(C:member1,rb);/打开文件夹 while(1) menu(); printf(请你选择操作:); scanf(%d,&sel); if(sel=0) i

27、f(biandong=1) getchar(); printf(n=提示:资料已经改动,是否将改动保存到文件中(y/n)?n); scanf(%c,&ch); if(ch=y|ch=Y) Save(l); printf(n= 您已经退出系统,谢谢您的使用,再见!n); break; switch(sel) case 1:Add(l);break; case 2:Del(l);break; case 3:Search(l);break;case 4:Modify(l);break;case 5:Disp(l);break;case 6:Tongji(l);break; case 7:Sort(l

28、);break;case 8:Save(l);break;default: Wrong();getchar();break; 4.1.1库函数的调用Printf,scanf函数的使用,对数据进行了输入输出。System是对图形背景颜色进行了改变。 4.1.2全局变量的定义在函数内定义的变量是局部变量,而在函数之外定义的变量称之为外部变量,外部变量是全局变量。全局变量可以为本文件中其他函数所共用。它的有效范围为从定义变量的位置开始到本源文件结束,其作用是增加了函数间数据联系的渠道。4.1.3子函数的定义子函数就被主函数调用,为了实现程序的多个功能,在一个主函数下可以定义多个子函数,来实现想要的各

29、种功能。4.2各类功能子函数的实现和流程图我做了三个主要功能,分别是:1输入职工信息 2查询员工信息 3删除职工信息这下面分别是我写的子函数和流程图,以及运行时的截图。、1输入职工信息,在这个子函数里,用链表将每个职工的信息链接在一起,这还要靠结点node结构体,该结构体地定义:typedef struct node struct member data; node *next; Node,*LinkData是结构体中的结构体,而每个结点的链接就是靠指针,也就是*next,通过让next指向下一个结点的地址来连接结点,这运用了在上课的时候,老师讲述的动态链表的建立知识。当分别输入完编号,姓名,

30、性别,上旬完成比,中旬完成比,下旬完成比后,如果想接着输入,则继续输入非零编号,若输入完毕,则按0返回菜单,具体代码如下:void Add(Link l) Node *p,*r,*s; char num10; r=l; s=l-next; while(r-next!=NULL) r=r-next; /将指针置于最末尾 while(1) printf(请你输入编号(以0返回上一级菜单:); scanf(%s,num); if(strcmp(num,0)=0)/比较判断是否返回 break; while(s) if(strcmp(s-data.num,num)=0) /比较判断是否重复 print

31、f(=提示:编号为%s的员工已经存在,若要修改请你选择4 修改!n,num); printstart(); printc(); printe(s); printstart(); printf(n); return; s=s-next; p=(Node *)malloc(sizeof(Node); /开辟一个指定大小的存储空间 strcpy(p-data.num,num); printf(请您输入姓名:); scanf(%s,p-data.name); getchar(); printf(请您输入性别(m/f):); scanf(%s,p-data.sex); getchar(); printf

32、(请您输入上旬完成(百分比):); scanf(%f,&p-data.spercent); getchar(); printf(请您输入中旬完成(百分比):); scanf(%f,&p-data.zpercent); getchar(); printf(请您输入下旬完成(百分比):); scanf(%f,&p-data.xpercent); getchar(); p-data.zonggong=p-data.spercent+p-data.zpercent+p-data.xpercent; p-data.ave=p-data.zonggong / 3; if(p-data.zonggongda

33、ta.jiangjin=(p-data.zonggong-100)*10; else p-data.jiangjin=(p-data.zonggong-100)*10; /信息输入已经完成 p-next=NULL; r-next=p; r=p; biandong=1; 流程图如图所示:开始打开文件菜单选择1录入信息计算工资继续录入 Y结束选择0返回菜单 N截图:在查询职工的子函数里,首先通过链表的存在判断是否有资料存在。如果不存在,则界面提示:资料不存在!当资料存在时,从键盘输入查询方式的选择:1编号查询;2姓名查询;然后引用编写的另一个子函数:Node *Locate(Link l,char

34、 findmess,char nameornum) /该函数用于定位连表中符合要求的接点,并返回该指针 Node *r; if(strcmp(nameornum,num)=0) /按编号查询 r=l-next; while(r!=NULL) if(strcmp(r-data.num,findmess)=0) return r; r=r-next; else if(strcmp(nameornum,name)=0) /按姓名查询 r=l-next; while(r!=NULL) if(strcmp(r-data.name,findmess)=0) return r; r=r-next; retu

35、rn 0; 该子函数定义了查询的方法:通过指针指向的数据的相等与否来判断查询对象的位置,当有符合条件的结点存在时,返回search()子函数,然后输出信息,若不存在,则通过Nofind()提示void Nofind() printf(n=提示:没有找到该员工!n); 接着再返回菜单选择,具体的代码如下:2查询员工void Search(Link l) int sel; char findmess20; Node *p; if(!l-next) printf(n=提示:没有资料可以查询!n); return; printf(n=1按编号查找n=2按姓名查找n=3返回上一级菜单n); scanf(

36、%d,&sel); if(sel=3) return; if(sel=1)/编号 printf(请您输入要查找的编号:); scanf(%s,findmess); p=Locate(l,findmess,num); /定位链表中符合要求的节点 if(p) printf( 查找结果(完成单位:个百分比)n); printstart(); printc(); printe(p); printstart(); else Nofind(); else if(sel=2) /姓名 printf(请您输入要查找的姓名:); scanf(%s,findmess); p=Locate(l,findmess,n

37、ame); /定位链表中符合要求的节点 if(p) printf( 查找结果n); printstart(); printc(); printe(p); printstart(); else Nofind(); else Wrong(); 流程图如图所示:开始打开文件菜单选择3编号查询 N Y输入编号输入姓名编号核对 N 姓名核对提示:无输出信息子函数 Y提示:无子函数返回菜单输出信息返回菜单结束截图:在删除职工的信息,主要是通过删除链表的结点来实现的,这需要定义两个结构体指针,首先通过P指针找到需要删除的信息结点地址,这就需要引用查询子函数中引用的Locate()子函数,然后把P-next赋

38、值给r,当然在此之前,r需要定义到p指针的上一个结点,具体的代码如下:3删除职工信息void Del(Link l) int sel; Node *p,*r; char findmess20; if(!l-next) printf(n=提示:没有资料可以删除!n); return; printf(n=1按编号删除n=2按姓名删除n=3返回上一级菜单n); scanf(%d,&sel); if(sel=3) return; if(sel=1) printf(请你输入要删除的编号:); scanf(%s,findmess); p=Locate(l,findmess,num); /定位链表中符合要求

39、的节点 if(p) r=l; while(r-next!=p) r=r-next; r-next=p-next; free(p); printf(n=提示:该员工已经成功删除!n); biandong=1; else Nofind(); else if(sel=2) printf(请你输入要删除的姓名:); scanf(%s,findmess); p=Locate(l,findmess,name);/定位链表中符合要求的节点 if(p) r=l; while(r-next!=p) r=r-next; r-next=p-next; free(p); printf(n=提示:该员工已经成功删除!n); biandong=1; else Nofind(); else Wrong(); 流程图如下图所示:开始打开文件菜单选择2信息导入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 绩效管理


经营许可证编号:宁ICP备18001539号-1