计算机程序设计(C)综合实践设计报告学院:电子通信与物理学院设计名称:职工信息管理系统专业班级:电子信息科学与技术14-2 学生:本良学号: 201401100211组号: 140203指导教师:宋戈完成时间: 2015年 7月23日目录第1部分实训题目与要求 (2)1. 问题提出 (2)2. 功能要求 (2)3. 任务分工 (2)第2部分设计实训题目功能......................................................................... . (3)1. 总体设计...................................................................... (3)2. 数据结构...................................................................... (4)3. 程序设计...................................................................... (5)4. 测试与调试...................................................................... (8)第3部分实训总结......................................................................... . (12)1. 个人总结...................................................................... (12)2. 结束语...................................................................... (12)第4部分参考文献......................................................................... . (13)《C程序设计综合实践》评分表......................................................................... (14)第1部分实训题目与要求1.问题提出在当今信息技术高速发展的时代,企业单位迫切需要这样一个系统:它能高效的管理企业或单位部所有员工的个人信息,并能正确快速的对系统的使用者的操作做出回应,以提高效率,降低成本。
该系统能够满足以上的要求,使用户可以快速准确的管理员工的信息。
设计一个职工信息管理系统,使之能提供以下功能:(1)职工信息录入功能;(2)职工信息保存和浏览功能;(3)职工信息查询(或排序)功能;(4)职工信息删除功能;(5)职工信息修改和添加功能;2. 功能要求(1)职工信息包括职工号、、性别、学历、工资、住址、等,并且要求职工号不重复。
(2)录入的职工信息要求用文件形式保存,并可以对其进行浏览、查询、修改、添加、删除等基本操作。
(3)职工信息的显示要求有一定的规格式。
(4)对职工信息应能够分别按职工号,学历和三个方式进行查询,要求能返回所有符合条件的职工的信息。
(5)对职工信息的修改应逐个地进行,在一个职工的信息的更改不影响其他的职工记录。
(6)所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能尽可能地兼容用户使用过程中的异常情况。
3.任务分工冬雪:负责菜单和输入模块;本良:负责保存和浏览模块;旭:负责删除和添加模块;主程序及查询模块由三人合作完成;修改模块有旭和本良完成。
第2部分设计实训题目功能1.总体设计该系统可以按功能进行模块划分,如图1所示。
菜单模块输入模块保存模块职工浏览模块信息删除模块职工号查询管理添加模块系统查询模块职工的学历查询修改模块退出系统模块职工的查询职工信息管理系统图1 系统模块图其中:(1).菜单模块:显示职工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void menu()函数来实现。
(2).输入模块:输入职工的工号、以及其它的一些职工的相关信息,通过自己定义的void input()函数来实现。
(3).保存模块:将存中职工的信息输出到磁盘文件中,可以通过自己定义的void save(int)函数来实现。
(4).浏览模块:浏览所有职工的相关信息,通过自己定义的void display()函数来实现。
(5).删除模块:删除需要删除的职工的所有信息,通过自己定义的void del()函数来实现。
(6).添加模块:添加需要添加的职工的相关信息,通过自己定义的void add()函数来实现。
(7).按职工号查询模块:可以按职工号来查询职工的相关信息,通过自己定义的void search_num()函数来实现。
(8).按职工的学历查询模块:可以按职工的学历来查询职工的相关信息,通过自己定义的void search_xuelil函数来实现。
(9).按职工的查询模块:可以按职工的来查询职工的相关信息,通过自己定义的void search_tel函数来实现。
(10).修改模块:可以修改需要修改的职工的相关信息,通过自己定义的void modify ()函数来实现。
(11) .退出系统模块:退出职工信息管理系统,通过头文件windows.h中的exit(0)函数来实现。
2.数据结构本系统中主要的数据结构就是职工的信息,包含职工号、、性别、学历、工资、住址、等,在处理过程中各项可以作为一个职工的不同属性来进行处理。
系统的执行应从功能菜单选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。
系统的流程图如图2所示:图2 程序流程图3.程序设计(1)职工信息:struct employee{int num; /*职工号*/ char name[10]; /**/char sex; /*性别*/int age; /*年龄*/char xueli[30]; /*学历*/int wage; /*工资*/char addr[30]; /*地址*/long int tel; /**/}(2)信息输入模块打开职工信息文件;while(继续输入){读入职工信息;将读入的信息添加到职工信息文件中;提示是否继续输入;}关闭职工信息文件;(3)信息浏览模块打开职工信息文件;while(不到文件结束){从文件中顺序读出一个职工的信息;按指定格式输出该职工的信息;}关闭职工信息文件;(4)信息查询模块while(继续查询){if(按编号查询){读入查询的职工编号;打开职工信息文件;while(不到文件结束){顺序读出一个职工的信息;if(该职工信息的编号符合条件)输出该职工的信息;}关闭职工信息文件;提示共有几条符合调价的记录;}else if(按查询){读入查询的职工;打开职工信息文件;while(不到文件结束){顺序读出一个职工的信息;if(该职工信息的符合条件)输出该职工的信息;}关闭职工信息文件;提示共有几条符合条件的记录;}else提示输入不合适;提示是否继续查询;}(5)信息修改模版while (继续修改){打开职工信息文件;打开临时文件;提示并读入待修改的职工的编号;while (不到文件结束){顺序读出一个职工的信息;if (该职工信息的编号符合条件)将职工的信息进行修改;将职工的信息写入临时文件中;}关闭原信息文件;关闭临时文件;删除原信息文件;将临时文件的名字改为原信息文件的名字;}(6)信息删除模块while (继续删除){提示并读入待删除的职工号;打开职工信息文件;查找是否有符合条件的职工记录;if (有符合条件的记录){创建一个新的临时文件;while (原信息文件中记录未读完){读出原信息文件中的下一条记录;if (此条记录不是待删除记录)写入临时文件中间去;}关闭原信息文件;关闭临时文件;删除原信息文件;将临时文件的名字改为原信息文件的名字; }else提示没有符合条件的记录存在;}(7)菜单选择模板给出信息提示;清屏;绘制菜单(包含输入显示查询修改删除退出);提示菜单选择并读入到变量;返回变量的值;4.测试与调试(1)运行程序,进入职工信息管理系统的主菜单:图1(2)输入数字“1”进行录入职工信息:图2(3)输入“y”返回主菜单(界面同图1)(4)输入“2”浏览职工信息:图3(5)输入“y”后继续,输入“3”进行查询职工信息图4(6)进入主菜单,输入“4”进行删除职工信息:图5(7)进入主菜单输入“5”进行添加职工信息:图6(8)进入主菜单输入“6”进行修改职工信息:图7(9)进入主菜单输入”7”退出职工信息管理系统。
第3部分实训总结1.个人总结通过开发这个系统,我掌握了的项目基本开发过程,用到的知识巩固了我组对C语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法。
通过实际操作,学会 C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。
2.结束语在这一周的课程设计中,我们组的课程设计题目是:职工信息管理系统。
即是以企业单位职工信息管理业务为背景,设计“职工信息管理系统”。
一开始,接到这个题目,我们对“职工信息管理”,这个概念不是很了解,所以在机房上机时,我们查阅了许多资料,了解到即是对职工的工号,,年龄,学历等复杂多样的信息,能够较清晰,快捷而操作方便的现代化管理系统。
弄清了这个基本概念以后,我们又详细理解了老师所讲的设计要求和注意事项,开始集中讨论分析问题,大致确定了总体的设计思路,初步提出问题的解决方案,以及系统大致设计方案和框架,接下来我们就着手编程。
在编程过程中,我们先是根据系统所要求,找出所需要的我们在C语言课程中所学到的知识点。
编完程序,我们在机房进行了一次又一次的调试,找出了其中的错误,一一纠正,并且修改了其中不太完善的部分,力求做到实用并且精确。
通过一周的课程设计,我们对C语言知识掌握了很多,并能将它用以程序编写中。
同时认识到了团队合作的重要性。
总之,我们在这一周学到了许多知识,提高了自己的解决实际问题的能力。
第4部分参考文献[1]延红、王付山.C语言程序设计教程[M]. :国防工业,2010,99-120.[2]谭浩强.C程序设计(第三版)[M]. :清华大学, 2011,125-137.[3]路明.C语言程序设计(第二版)[M]. :邮电大学,2005,102-110.[4]志航.程序设计语言[M]. :清华大学, 2007,25-36.[5]何钦铭,颜晖.C语言程序设计[M]. :高等教育, 2008,89-110.[6]王连相. C/C++程序设计教程. 中国铁道,2006[7]谭浩强. C程序设计题解与上机指导(第三版).:清华大学附页:《计算机程序设计(C)综合实践》评分表. 指导教师签名:日期:_2015年月日_。