-职工信息管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西安文理学院信息工程学院软件编程课程设计报告设计题目:职工信息管理系统设计学生学号:0204140140专业班级:物联网工程(1)班学生姓名:郑桂桂学生成绩:指导教师:李立课题工作时间:2015-11-25至2015-12-9信息工程学院软件编程课程设计任务书学生姓名郑桂桂学号0204140140专业班级物联网工程(1)班设计题目职工信息管理系统主要任务及设计要求:设计一个职工信息管理系统。职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。使之能提供以下功能:1、系统以菜单方式工作2、职工信息录入功能(职工信息用文件保存)--输入3、职工信息浏览功能--输出4、职工信息查询功能--算法查询方式:(1)按学历查询(2)按职工号查询5、职工信息删除功能、6、职工信息修改功能指导教师:日期:2015年11月25日目录1.概述····················································································11.1课题背景·······································································11.2系统功能·······································································11.3设计要求·····································································12.概要设计············································································22.1系统功能模块·································································22.2模块流程图····································································33.详细设计··············································································53.1程序中使用的数据结构····················································53.2函数详解······································································54.设计结果与分析···································································8总结与体会············································································14参考文献···············································································15附录:主要程序代码···································································161第一章概述1.1课题背景软件编程课程设计的要求是培养学生综合运用C语言的重要途径,是主要的实践性教学环节之一,运用所学课程的知识,结合实际应用设计而进行的一次综合分析设计能力的训练。并且管理信息系统在各行各业发挥着越来越重要的作用。但在职工信息的管理中,避免了手工操作而带来的一些不必要的问题。通过编写一个职工管理系统的C语言程序,培养学生在本课程范围内,初步掌握解决实际应用问题时所应具有的查阅资料、综合运用所学知识、掌握C语言程序基本技巧的能力,为软件编程设计及今后从事专业工作打下基础。1.2题目要求设计一个职工信息管理系统。职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。使之能提供以下功能:1、系统以菜单方式工作2、职工信息录入功能(职工信息用文件保存)--输入3、职工信息浏览功能--输出4、职工信息查询功能--算法查询方式(1)按学历查询(2)按职工号查询5、职工信息删除功能6、职工信息修改功能1.3设计要求根据题目要求,应当把职工信息用结构体形式输入,然后把职工信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;在程序中需实现职工信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。信息以文件形式保存。2第二章概要设计2.1系统功能模块职工信息管理系统设计要求包括2.1.1菜单函数:设计一个菜单界面,调用各个功能函数,操作界面整齐美观便捷2.1.2输入记录:将每一个职工的职工号、姓名性别、年龄、工资、地址、联系方式的数据作为一个记录,存入数据文件。选择是回到菜单列表还是退出系统。2.1.3浏览记录:将之前录入的职工信息全部显示出来,再次选择回到菜单还是退出系统。2.1.4查询记录:查询符合用户提供的条件的职工信息。可选择用两种方式分别查询,按职工号查询,输入一个职工号,输出为此职工的全部信息。按学历查询,输入一个学历后。输出符合此学历的职工的所有信息。选择回到菜单还是退出系统。2.1.5删除记录:先显示出之前录入的全部职工信息,输入打算删除的职工姓名,系统显示出此职工的信息,再次选择是否删除,同意则继续删除,不同意则返回菜单。如果输入的姓名不是之前录入的职工姓名,系统会提示查无此人。2.1.6修改记录:先显示出所有之前录入的职工信息,输入打算修改的职工姓名,系统输出此职工的全部原始信息,选择是否修改此人信息,若修改则将此人信息再次输入,替换掉之前的信息,选择是否继续修改此人。2.1.7退出系统:选择退出职工管理系统。32.2模块流程图2.2.1总体流程图图2-1总体流程图开始菜单1录入职工信息根据菜单输入选择操作5修改职工信息2浏览职工信息3查询职工信息4删除职工信息6退出系统保存函数是否退出系统结束42.2.2功能结构简图图2-2功能结构简图职工信息管理系统信息录入信息浏览信息查询信息删除信息修改分条输入职工的职工号、姓名、性别、年龄、学历、工资、住址、电话等信息按职工号查询,输入一个职工号,显示出此职工的全部信息输入要修改的职工的姓名,显示原始信息,确认是否修改输入想要删除的职工的姓名,显示出此职工的原始信息确定是否删除按学历查询,输入一个学历,显示出所有此学历的职工的所有信息显示录入的所有职工的所有信息5第三章详细设计3.1程序中使用的数据结构为了方便使用结构,此系统结构均为全局类型定义structemployee//定义一个职工信息结构体{intnum;//定义职工号为整型charname[20];//定义姓名为字符数组charsex;//定义性别为字符型intage;//定义年龄为整型charxueli[30];//定义学历为字符数组intwage;//定义工资为整型charaddr[30];//定义地址为字符数组chartel[20];//定义电话为字符数组}em[100];//定义一个结构体3.2函数列表3.2.1总体定义函数为实现本系统的各项功能,需定义函数如下:voidmenu();//菜单选项voidinput();//录入voidsave(int);//保存voiddisplay();//浏览voiddel();//删除voidsearch();//查找voidsearch_num();//按姓名查询voidsearch_xueli();//按学历查询voidmodify();//修改3.2.2各函数的实现(1)菜单函数运用输出设计一个菜单界面,界面美观整齐voidmenu()//菜单函数{printf(************************欢迎您进入职工信息管理系统6**********************\n);printf(**1.录入职工信息);printf(2.浏览职工信息**\n);printf(**3.查询职工信息);printf(4.删除职工信息**\n);printf(**5.修改职工信息);printf(6.正常退出系统**\n);printf(************************************************************************\n);(2)录入函数用for循环语句限制出每次录入的职工人数,方便快捷,省去了每录入一个人就要选择一下的步骤。运用输出显示出录入的界面,再通过输入的数据建立职工信息。(详情见主要程序代码)(3)保存函数将输入的信息能以文件形式保存,将内存中职工的信息输出到磁盘文件中voidsave(intm)//保存文件函数{inti;FILE*fp;if((fp=fopen(employee_list,wb))==NULL){printf(cannotopenfile\n);exit(0);}for(i=0;im;i++)//将内存中职工的信息输出到磁盘文件中if(fwrite(&em[i],sizeof(structemployee),1,fp)!=1)printf(filewriteerror\n);fclose(fp);}intload()//导入函数{FILE*fp;inti=0;if((fp=fopen(employee_list,rb))==NULL){printf(cannotopenfile\n);exit(0);}else{do{fread(&em[i],sizeof(structemployee),1,fp);i++;}while(feof(fp)==0);}fclose(fp);//(文件关闭函数)关闭一个流7return(i-1);}(4)浏览函数将所有的职工信息输出,用再到for语句,运用输出使输出信息的界面整齐美观voiddisplay()//浏览函数{inti;intm=load();printf(\n职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n);for(i=0;im;i++)//m为输入部分的职工人数printf(\n%d\t%s\t%c\t%d\t%s\t%d\t%s\t%s\n,em[i].num,em[i].name,em[i].sex,em[i].age,em[i].xueli,em[i].wage,em[i].addr,em[i].tel);}(5)查询函数查询有两种方式,一种是按职工号查询,一种是按学历查询,选择查询的方式可以运用switch(grade){case1:…;case2:…;case…;}语句可多分枝选择按1:职工号查询2:学历查询3:返回主菜单,在switch语句前添加一个if…else…语句用来当纠错提醒,如果输入的选择数字不是1、2、3,则系统提示“输入有误,请重新输入”运用输出将查询到职工信息输出,界面美观整齐。(具体代码太长,见主要程序代码)(6)删除函数先调用浏览函数显示出所有职工的所有信息,输入想要删除的职工的姓名,用if(strcmps比较字符串)…else…语句和for循环语句在所有录入的职工信息中找到符合的姓名并输出此人的所有信息,运用if条件语句选择是否确定删除(详情见主要程序代码)(7)修改函数定义变量数据类型与全局变量相同,先调用浏览函数显示所有的职工信息,输入想修改的职工姓名,if(strcmp())语句在所有职工找到符合的姓名,显示出此职工的所有信息,if语句选择是否确定修改,是则重新输入职工信息,运用字符串复制,赋值等语句达到

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功