ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:113.57KB ,
资源ID:8872541      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8872541.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言职工信息管理报告电气LR.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言职工信息管理报告电气LR.docx

1、C语言职工信息管理报告电气LRC语言实训报告职工信息管理系统班级:负责人:组员:指导教师:日期:C语言课程设计任务书一、题目:职工信息管理系统二、目的和要求目的:要求熟练掌握C语言的基本知识和编辑技能; 基本掌握结构化程序设计的基本思路和方法。2.1 基本功能和要求(1) 系统必须是菜单操作方法,进入功能必须打开菜单,并且每个菜单都有相应的帮助,菜单之间能够灵活的切换。用户分三种权限:一般的员工用户,员工工资管理员,系统管理员。(2) 根据登陆方式,选择相应的操作方式;如果是一般的员工用户(默认权限为r即只读),就只能按照各种方式查看数据,并且只能查看自己的信息和工资情况,并且可以网上修改自己

2、的信息等等功能;如果是员工工资管理员,除了可以查看数据外还能编辑员工基本信息数据。如果是系统管理员,他可以拥有员工工资管理员的所有功能,并且可以创建用户,并且可以修改员工的工资体系和大小。(3) 能够对员工基本信息、工资的基本信息、工资的扣除费用信息进行统计,统计的结果能够以表格的形式来表示。(4) 员工基本信息、工资的基本信息、工资的扣除费用信息存储在相应的文件中。数据的组织形式要求必须使用链表或者二叉树来实现。(5) 登录的用户名和密码应该存储在单独的文件中,最好做一定的加密算法。(6) 系统要求界面友好,易操作。2.2 统计功能(1)统计每个部门的员工工资、整个公司的员工工资、员工的信息

3、等。(2)统计全公司总金额、每个部门的员工工资、扣税信息、工资的扣除信息、奖金、特别奖金等等。(3)统计全公司工资最高的人员前10名,并对它们进行排序。(4)按部门统计工资最高的人员前10名,并对它们进行排序。(5)统计扣除工资最多的10个人。(6)工资信息其它方面的统计。(7) 按照技术职称统计工资信息。(8) 按照工龄职称统计工资信息。2.3 查找功能(1) 可以根据员工的姓名查找。(2) 可以根据工资卡号查找。(3) 可以根据身份证号查找。(4) 可以根据部门查找。(5) 可以根据技术职称查找。(6) 可以根据员工的姓名来查找员工的信息,以及员工的工资组成和细节。(7) 可以根据员工的身

4、份证来查找员工的信息,以及员工的工资组成和细节。(8) 可以根据员工的部门来查找员工的信息,以及员工的工资组成和细节。2.4 排序功能(1) 可以根据员工的基本工资排序。(2) 可以根据员工的职务工资排序。(3) 可以根据员工的扣除工资排序。(4) 可以根据员工的交税信息排序。(5) 可以根据员工的扣除工资信息排序。(6) 可以根据员工的姓名排序。(7) 可以根据员工的职务排序。2.5 系统的操作(1) 有文件的保存和另存为(2) 有文件的打开和载入(3) 系统在退出时,要有相应的提示三、信息描述职工基本信息:如工资卡号、身份证号、姓名、性别、年龄、工龄、部门、技术职称、技术职称编号、家庭电话

5、号码、手机号码等。工资基础信息:技术职称编号、技术职称、基本工资、职务工资、各种补助等。费用扣除信息:工资卡号、水费、电费、清洁费(5元/月)、闭路电视费(10元/月)等。工资单数据:工资卡号、姓名、应发工资、水费、电费、清洁费、闭路电视费、税金、实发工资、特别奖励。四、解决方案1、首先进行需求分析,搞清楚系统功能和任务;2、然后在总体设计中确定模块结构、划分功能模块,将软件功能需求分配给所划分的最单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略;3、在详细设计中,为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图)来描述模块的详细过程。4、根据分

6、析编写C语言代码。五、课程设计总结1、语言简练,条理清楚,图表规范2、程序设计组成框图、流程图3、模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的5、解决措施6、源程序清单和执行结果:清单中应有足够的注释七、参考资料 C程序设计(第三版) 谭浩强 著 清华大学出版社 C程序设计题解与上机指导(第三版 ) 谭浩强 编著 清华大学出版社第一章 系统分析与系统设计一、目的和要求目的:要求熟练掌握C语言的基本知识和编辑技能; 基本掌握结构化程序设计的基本思路和方法。2.1 基本功能和要求(1) 系统必须是

7、菜单操作方法,进入功能必须打开菜单,并且每个菜单都有相应的帮助,菜单之间能够灵活的切换。用户分三种权限:一般的员工用户,员工工资管理员,系统管理员。(2) 根据登陆方式,选择相应的操作方式;如果是一般的员工用户(默认权限为r即只读),就只能按照各种方式查看数据,并且只能查看自己的信息和工资情况,并且可以网上修改自己的信息等等功能;如果是员工工资管理员,除了可以查看数据外还能编辑员工基本信息数据。如果是系统管理员,他可以拥有员工工资管理员的所有功能,并且可以创建用户,并且可以修改员工的工资体系和大小。(3) 能够对员工基本信息、工资的基本信息、工资的扣除费用信息进行统计,统计的结果能够以表格的形

8、式来表示。(4) 员工基本信息、工资的基本信息、工资的扣除费用信息存储在相应的文件中。数据的组织形式要求必须使用链表或者二叉树来实现。(5) 登录的用户名和密码应该存储在单独的文件中,最好做一定的加密算法。(6) 系统要求界面友好,易操作。2.2 统计功能(1)统计每个部门的员工工资、整个公司的员工工资、员工的信息等。(2)统计全公司总金额、每个部门的员工工资、扣税信息、工资的扣除信息、奖金、特别奖金等等。(3)统计全公司工资最高的人员前10名,并对它们进行排序。(4)按部门统计工资最高的人员前10名,并对它们进行排序。(5)统计扣除工资最多的10个人。(6)工资信息其它方面的统计。(7) 按

9、照技术职称统计工资信息。(8) 按照工龄职称统计工资信息。2.3 查找功能(1) 可以根据员工的姓名查找。(2) 可以根据工资卡号查找。(3) 可以根据身份证号查找。(4) 可以根据部门查找。(5) 可以根据技术职称查找。(6) 可以根据员工的姓名来查找员工的信息,以及员工的工资组成和细节。(7) 可以根据员工的身份证来查找员工的信息,以及员工的工资组成和细节。(8) 可以根据员工的部门来查找员工的信息,以及员工的工资组成和细节。2.4 排序功能(1) 可以根据员工的基本工资排序。(2) 可以根据员工的职务工资排序。(3) 可以根据员工的扣除工资排序。(4) 可以根据员工的扣除工资信息排序。(

10、5) 可以根据员工的姓名排序。(6) 可以根据员工的职务排序。2.5 系统的操作(1) 有文件的保存和另存为(2) 有文件的打开和载入(3) 系统在退出时,要有相应的提示二、信息描述职工基本信息:如工资卡号、身份证号、姓名、性别、年龄、工龄、部门、技术职称、技术职称编号、家庭电话号码、手机号码等。工资基础信息:技术职称编号、技术职称、基本工资、职务工资、各种补助等。费用扣除信息:工资卡号、水费、电费、清洁费(5元/月)、闭路电视费(10元/月)等。工资单数据:工资卡号、姓名、应发工资、水费、电费、清洁费、闭路电视费、税金、实发工资、特别奖励。总体设计1) 该系统可以按功能进行模块划分,其模块图

11、如下系统模块图其中: 职工工资信息管理系统共包含五大模块:登陆模块、创建用户模块、注销用户模块、修改密码模块和退出模块。其中:(一)登陆模块:int login()1录入员工的信息模块:void input()包括输入员工信息的个数、每个员工的工资卡号、身份证号码、姓名、性别、年龄、工龄、部门、技术职称、技术支撑编号、家庭电话号码、手机号码、基本工资、职务工资、各种补助、水费、电费、清洁费、闭路电视费。2查询员工的信息模块:void menu12()分别可根据员工的姓名、工资卡号、身份证号、部门、技术职称查找相应的员工单面信息以及所有相关信息。3统计员工的信息模块:void menu13()包

12、括统计每个部门员工的工资信息、全公司的工资信息、全公司工资最高前10名、各部门工资最高前10名、扣除工资最多的10人、按照员工的技术职称和工龄统计工资信息、以及每个部门的工资详细信息。4员工信息排序模块:void menu14()分别根据员工的姓名排序、根据员工的技术职称编号排序、根据员工的基本工资排序、根据员工的职务工资排序、根据员工的扣除工资排序。5保存员工信息模块:void saveinfo()6返回主菜单模块。(二)创建用户模块:void input1() 首先输入员工的用户名,若此用户名已经存在,则无法创建,若此用户名可以使用,继续输入密码。(三)注销用户信息模块:void delU

13、ser() 首先输入用户名和密码,若输入的用户名和密码正确,则继续输入要注销的用户名,否则无法注销。(四)修改密码模块:void modify() 首先登陆信息,若输入信息错误,则无法修改用户名和密码,若输入信息正确,则请求输入新的用户名和新的密码。本系统中主要的数据结构就是职工的信息,包含如工资卡号、身份证号、姓名、性别、年龄、工龄、部门、技术职称、技术职称编号、家庭电话号码、手机号码等。程序中所定义的数据结构体:struct wage /工资信息;struct Swage /费用扣除信息;struct WorkerInfostruct log /登陆结构体;struct WaP /工资单信

14、息。3)程序流程系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下: 程序流程图 第二章 主函数设计一、列出所有定义的函数及说明int login();/登陆函数int login1();/登陆函数void menu();/主菜单void modify();/修改密码void saveLog();/保存登陆的用户名和密码void loadLog();/加载登陆的用户名和密码void menu1();/登陆进入子菜单void input();/录入员工信息void menu12();/查询员工信息子菜

15、单函数void menu13();/统计员工信息子菜单函数void menu14();/员工信息排序子菜单函数void saveinfo();/保存员工信息void loadinfo();/载入员工信息void browse();/浏览员工信息函数void addUser();/添加新用户void delUser();/注销用户void SearchName(); /* 按员工姓名查找员工信息函数*/void SearchID(); /* 按员工工资卡号查找员工信息函数*/void SearchPID(); /* 按员工身份证号码查找员工信息函数*/void SearchDep(); /* 按

16、员工部门查找员工信息函数*/void SearchPre();/* 按员工技术职称查找员工信息函数*/void SearchNameW();/* 按照员工姓名查询员工工资信息信息函数*/void SearchIDW(); /* 按照员工工资卡号查询员工工资信息函数*/void SearchPIDW();/* 按照员工身份证号码查询员工工资信息函数*/ void DepInfo();/*统计每个部门员工的工资信息*/void ComInfo(); /* 统计整个公司的工资信息*/void DepDetInfo(); /* 统计每个部门的工资详细信息*/void TopComInfo(); /*

17、统计工资最高的前10名员工信息*/void TopDepInfo(); /* 按照部门统计最高的10名员工信息*/void SubComInfo(); /* 统计工资扣除最多的10个员工信息*/void PreInfo(); /* 按照员工的技术职称统计工资信息*/void ComAgeInfo(); /* 按照员工的工龄统计工资信息*/void SDep();/*加载现有的员工部门信息*/void SPre();/*加载现有员工的职称信息*/void SWage();/*加载现有员工的工龄信息*/void browse1();/*浏览信息函数2*/void OrdTax(); /* 根据员工

18、的交税信息排序*/void OrdName();/*根据员工的姓名排序*/void OrdSub(); /* 根据员工的扣除工资排序*/void OrdPWage(); /* 根据员工的职务工资排序*/void OrdBWage();/* 根据员工的基本工资排序 */void OrdPre();/* 根据员工的职务排序*/三、系统调试调试是软件开发过程中最艰巨的脑力劳动,调试开始时,软件开发者仅仅面对着错误的征兆,然而在问题的外部现象和内在原因之间往往并没有明显的联系,在组成程序的密密麻麻的元素中,每一个都可能是错误的根源。如何能在浩如烟海的程序元素中找到有错误的那个(或几个)元素,这是调试过

19、程中最关键的技术问题。本设计中调试的方法主要是设置断点跟踪。使用断点跟踪可以找到程序的出错位置,缩小查找错误的范围,提高调试的效率。调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。现阶段已研究出一些帮助调试的技术,主要有输出存储器内容、打印语句和自动工具。当然更重要的还是调试的策略。调试的策略主要有以下几种方法:1.试探法调试人员分析错误征兆,猜想故障的大致位置,然后使用调试的技术获取程序中被怀疑的地方附近的信息。

20、这种策略通常是缓慢而低效的。一般不被采用。2.回溯法回溯法是调试人员检查错误征兆,确定最先发现“症状”的地方,然后人工沿程序的控制流往回追踪源程序代码,直到找出错误根源或确定故障范围为止。回溯法对小程序而言是一种比较好的调试策略,但是对于一些大规模的程序来说,就不适合用此方法了。3.对分查找法如果知道每个变量在程序内若干个关键点的正确值,则可以用赋值语句或输入语句在程序中点附近“注入”这些变量的正确值,然后检查程序的输出。如果输出结果是正确的,则故障在程序的前半部分;反之,在后半部分。对于程序中有故障的那部分再重复使用这个方法,直到把故障范围缩小到容易诊断的程度为止。4.归纳法所谓归纳法就是从

21、个别推断一般的方法,这种方法从线索出发,通过分析这些线索之间的关系而找到故障。5.演绎法是从一般原理或前提出发,经过删除和精化的过程推导出结论。用演绎法调试开始时先列出可能成立的原因或假设,然后依次地排除列举出的原因。最后,证明剩下的原因是错误的根源。以上是一些调试策略的介绍,在这些策略中较普遍的调试策略是归纳法和演绎法。四、存在的问题与不足及对策:不足:录入员工信息时,会覆盖之前的记录。对策:类似登陆是添加用户程序的处理方法五、C语言课程设计心得 通过这次课程设计,增加了我们对软件技术的了解,虽然还不明确软件技术包含的具体内容,但从学习C语言这门课程开始,已发现程序设计的好处,它对我们数学的

22、学习也有很大的帮助。在学习C语言的过程中也学到和巩固了许多计算机应用基础知识,对计算机的机体也有了一个较为详细的了解。在具体操作中对这学期所学的C语言的理论知识得到巩固加强,达到实训的目的,也发现自己的不足之处,为我们以后的c语言学习奠定了基础,同时体会到C语言具有的语句简洁,使用灵活,执行效率高等特点。发现上机操作的重要作用,特别是对数组和循环有了深刻的理解。通过实际操作,学会 C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。 由于本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。在用的时候难免出现这样那样的错误。如开始设计出来的菜单

23、不是预想的那样,而是总个窗中出现混乱。解决的这个问题的办法是调整。最后还是老师帮我帮我们找到了问题的所在。一个系统的菜单和提示信息非常重要。如果没有这些用户根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作。有了一个清晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利。回顾起此次课程设计,至今我们仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结

24、合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,通过这次课程设计之后,一定把以前所学过的知识本次课程设计结束了,对于我们的影响很大。我们通过这次实践学到了许多知识。学到了设计一个简单的系统。要注意哪些方面。也使我们知道自己哪些方面做得还不够。但我们总结出了一点点的经验如下:要对系统的功能和要求做出详细的分析,并合理分解任务。 把分解出来的子任务,做给一个相对独立的模块。在设计一个模块之前,要简单构想一下总界面的显视情况。针对构想出来的界面进行程序的编写。程序操作演示图一 操作主菜单图二 进入添加用户界面图三 添加新用户演示图四 进入操作子菜单图五 查询员工信息子菜单图六 统计员工信息子菜单图七 员工信息排序子菜单图八 统计信息实例图九 员工信息按姓名查找实例

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1