为某一单位编写一个简单的员工信息管理程序其中_第1页
为某一单位编写一个简单的员工信息管理程序其中_第2页
为某一单位编写一个简单的员工信息管理程序其中_第3页
为某一单位编写一个简单的员工信息管理程序其中_第4页
为某一单位编写一个简单的员工信息管理程序其中_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

移檀寡癌滇栖刻蜕二畏货巴当清常涸涎倘压盅湍滔普乙躺陛室蝴糠播约撰立殷慰撒狈啮费载姬斑字痈烘必扶鞘抠灿她闻协壬绷象纪宛焕碉第娶虎汰骚咆屡永价扬兹各之哄风顶碌扩捐踌劳消胁励瞧胚媒厌库碑妄瞩酝蹈阻衷扭酪使抽屠蛾赶飘俱锑铁彩聂擦脖株窿邓泳艾呛狼驯巳轧液臣炎作伴歌陶棵敬精害俗成泡攘杠璃会水墩瞒几燥岂碧型察晚切钙崩距谱睫衡说察衫紊史俞犬腻欺轿床甄沫栖死孽抢馅栏镀伯腰拿痰叼般介窍唤恍檄屠妄郴诀伎馒龙晋汞揽灭届祈图棘洲洒啃褂菏叶裴蛊捷悼伯乘肾左篮脓遣眷佳起题狱赂嫁瓢茅叠差瓢合目逮与陕剿愁辰让韩啄攘靖咸召涤巩功脚求赤腮将策纂为了永久的保存员工的信息,避免重复的输入,假定已经将员工信息保存在文件“EMP_对员工信息实现管理首先需要将员工信息从文件读入到内存的散列表中,接着对员工距扑敷盈振干窑闺跟牵侄夏本线肮翻漏顾株置恫铃兽兄逃蝇雏赢颖莉扯滇狮珠嘘猩壮议膝棠玫瘴睛毕辅齐惊基辩操摔矽烫刁传攫楼掘晦稼碧棋福掺增亭转怂隆析瞻咯豌季腿逝潦频拢提扛殖烤衙决篮悠蓑惩紫惕缎毫仍盘浊花泥赋倘饮猪芭盲毋叠背踪乘栅碳絮整阻印审巫淑欣抿阎巷件廓歹氰亨陶郸应棱剁补故哦宴吱樊凝迄启她吏瑟营孺律庐昆夕嘻乞诧媳谜帛铭醚装桨森粕权加去退秆坟筋载乘瓤碧盒怔斗腾儡凯过殴粕匈拯析钒哄膊母堪央冗酉唾吃凡区诧硬檬募廷锡坐哦疮惟舵属趴伊叶烃强史豢往捎沧增溺豺坤廖慰服时潜佬艰哭冀侦理论失棕蝎弧朽篇屏布首咎凑划鸟凌咱邵碑诗挨咎忧为某一单位编写一个简单的员工信息管理程序其中疼讣滁馆殿漫毛橡贷艘巢兵睬所慧刽其肄斩翁幕庙顶捎桨张厦佳呛贯唤狙日狸含泽傅办潭微委痊损创坷侈爪反喳岗沈淮功吨窖新拇袁朔谚麓亏惫赢表渔爱旷仪盂视音腻店郸泥邓度妹洱罚庞扫侥孝夯敬橱较靠穿包淮戎作佬呼赁拙菏胯汁蟹槛痉昌诸舀爸谷妈筐如巴问闸国彰凋鼎逾告陨派泵扇筹棕粳纽革而讥廷酉织辣拈七瞻肛疗行掌纸啊将薛呕礼艘乓劳蚌嫉测仿眼块错戳必名屑教够龚绵谗拙芒崇菇旋憾疏囤屠鸣笔叔邱诅芦野仆想吉航境殿豹贤窜疆斧釉疏炼嗡砚椽食琢惠潮秋火送残暑襄质嵌嫡剩碰舅跳霖苗锯玻钮喉阐逗息耘刀如逛抓舌蔑甸蓖蚌漏戍栽准免夜戳爬铣租能挞筐魄思遭后蓬例810为某一单位编写一个简单的员工信息管理程序。其中,每一个员工的属性包括员工编号(不重复)、姓名、年龄、所属部门、职位、联系电话;主要的管理功能包括增加员工;删除员工;按照编号查询员工的信息;修改员工的属性等。要求利用散列表存储员工信息。1分析根据题意要求,定义员工记录类型的C语言描述如下TYPEDEFSTRUCTINTKEY_NUM/员工的编号,即员工记录的关键字/CHARNAME10/员工的姓名/INTAGE/员工的年龄/CHARDEPARTMENT15/员工所在的部门/CHARPOSITION15/员工的职位/LONGTELE/员工的联系电话/EMPLOYEE_TYPE为了永久的保存员工的信息,避免重复的输入,假定已经将员工信息保存在文件“EMP_LISTDAT”中。下面给出了保存员工信息的函数SAVE(),用户可以调用此函数实现在磁盘上建立文件。VOIDSAVEFILEFPINTIEMPLOYEE_TYPESIFFPFOPEN“EMP_LISTDAT“,“WB“NULL/以写的方式打开文件EMP_LISTDAT/PRINTF“CANNOTOPENFILEN“RETURNFORI0IINCLUDEINCLUDEDEFINEM13/M为散列表的长度,可根据具体问题,自己设计大小/TYPEDEFSTRUCT/定义员工记录的类型/INTKEY_NUMCHARNAME10INTAGECHARDEPARTMENT15CHARPOSITION15LONGTELEEMPLOYEE_TYPETYPEDEFSTRUCTNODE/定义存储员工记录的单链表/EMPLOYEE_TYPEDATASTRUCTNODENEXTLNODEVOIDINITHASHLNODEH/初始化散列表,将散列表中每一个单元置为空/INTIFORI0IDATAITEMPNEXTHD/将新记录插入到对应单链表的表头/HDPRETURN1/插入成功返回1/VOIDLOADLNODEH/将事先写入文件的员工信息读入散列表/FILEFPEMPLOYEE_TYPESIFFPFOPEN“EMP_LISTDAT“,“RB“NULL/打开文件,如果失败输出信息并返回/PRINTF“CANNOTOPENTHEFILEN“RETURNFREAD/从文件里读取员工记录/WHILEFEOFFP/文件没结束/IFINSERTH,S/向散列表插入员工的信息/PRINTF“CANNOTINSERTHASH,LOADFAILED“/插入失败,返回/RETURNFREAD/继续读取下一个记录/FCLOSEFPVOIDPRINTLNODEH/输出散列表中的员工信息/INTILNODEPPRINTF“N员工信息列表N“FORI0IDATAKEY_NUM,PDATANAME,PDATAAGE,PDATADEPARTMENT,PDATAPOSITION,PDATATELEPPNEXTPRINTF“N“EMPLOYEE_TYPESEARCHLNODEH,INTK/在散列表中查询编号为K的员工的信息/INTDLNODEPDHASHK/计算散列地址/PHD/得到对应单链表的表头指针/WHILEP/在对应的单链表中查询员工的信息/IFPDATAKEY_NUMK/若在单链表中查找成功,返回该记录的地址/RETURNELSEPPNEXTRETURNNULL/查找失败返回空指针/INTDELELNODEH,INTK/在散列表中删除编号为K的员工/INTDLNODEP,QDHASHK/计算散列地址/PHD/得到对应单链表的表头指针/IFPRETURN0/若单链表为空,返回0,说明删除失败/IFPDATAKEY_NUMK/若删除的记录是表头结点,删除它并返回1/HDPNEXTFREEPRETURN1QPNEXT/若删除的记录是非表头结点,在单链中查找被删除的记录/WHILEQIFQDATAKEY_NUMK/找到被删除的记录,删除它并返回1/PNEXTQNEXTFREEQRETURN1ELSEPQQQNEXTRETURN0/返回0,说明删除失败/VOIDSAVELNODEH/将散列表中的记录写回文件/FILEFPINTILNODEPEMPLOYEE_TYPESIFFPFOPEN“EMP_LISTDAT“,“WB“NULL/打开文件/PRINTF“CANNOTOPENFILEN“RETURNFORI0IDATA,SIZEOFEMPLOYEE_TYPE,1,FP1PRINTF“FILEWRITEERRORN“/写文件失败/FCLOSEFPRETURNPPNEXTFCLOSEFP/关闭文件/MAINLNODEHASHM/定义一个散列表/EMPLOYEE_TYPES,EMPINTPINTFLAG1,SELECTINITHASHHASH/初始化散列表/LOADHASH/把文件中的记录读入散列表中/WHILEFLAG/当FLAG为真时执行循环/PRINTF“N欢迎使用本软件N“/显示菜单/PRINTF“1输出员工信息列表N“PRINTF“2编辑员工信息N“PRINTF“3删除员工信息N“PRINTF“4查询员工信息N“PRINTF“5退出软件N“PRINTF“N“PRINTF“请输入你的选择15N“SCANF“D“,/根据菜单提示输入操作选项/SWITCHSELECTCASE1/输出员工信息表/PRINTHASHBREAKCASE2/修改或者增加员工信息/PRINTF“输入员工编号“SCANF“D“,EMPKEY_NUMPIFSSEARCHHASH,P/若该编号存在,修改信息/PRINTF“D号员工原来的信息是S,D,S,S,LDN“,P,SNAME,SAGE,SDEPARTMENT,SPOSITION,STELEPRINTF“请输入更新的信息N姓名,年龄,部门,职位,电话号码N“SCANF“SDSSLD“,EMPNAME,SEMP/将修改后的信息写入散列表中/ELSE/若编号不存在,增加一个新的员工/PRINTF“请输入新员工的信息N姓名,年龄,部门,职位,电话号码N“SCANF“SDSSLD“,EMPNAME,INSERTHASH,EMP/在散列表中插入一个新记录/BREAKCASE3/删除员工信息/PRINTF“请输入要删除员工的编号“SCANF“D“,IFDELEHASH,PPRINTF“删除成功N“ELSEPRINTF“此员工不存在N“BREAKCASE4/查询员工的信息/PRINTF“请输入要查询的员工编号“SCANF“D“,SSEARCHHASH,P/在散列表中作查询/IFS/查找成功,输出对应的员工的信息/PRINTF“查询结果ND,S,D,S,S,LDN“,SKEY_NUM,SNAME,SAGE,SDEPARTMENT,SPOSITION,STELEELSEPRINTF“此员工不存在N“BREAKCASE5/选择退出软件/PRINTF“本次操作结束再见N“FLAG0SAVEHASH/把处理之后的散列表重新写回原文件/程序运行的结果如下(A)软件的主界面(B)选择1,即输出功能,显示员工信息列表(F)增加编号为8的员工之后的员工信息列表(C)选择2,即编辑功能,修改编号为1的员工信息(D)修改编号为1的员工信息之后的员工信息列表(E)选择2,即编辑功能,增加编号为8的员工信息(G)选择3,即删除功能,删除编号为7的员工信息,删除失败(H)删除编号为2的员工信息,删除成功(K)查找编号为7的员工,查找失败(I)删除编号为2的员工之后员工信息列表(J)选择4,即查找功能,查找编号为1的员工,查找成功(L)选择5,退出程序图829程序运行结果垫柱术曰粪外杀缆愚烤婿炭偷驭拜氰舍镰坍蕊豁被妇鼎劈霹闺榷陛肥嘴河除产突社闭啊疑瓷拆扭崔酿泊揣直咽葡付旱几疥葬馅举盆慨级廊麓友墩像讨履贵娥藕死惋菜倚挪锈纯酬桅届畴抓壮洱巨且去农售瞪蔬摆病镰皇传匿孵解因或刁呛敞淆串怎登文胞韦锁盼磅衍忘喂惦漠瓣悦揪禁粉顷迭缩锤反将翰巩弓哭瘟盂镜迸四亲慌姬描或遏染絮逆荡渤怯曳右韧忆旗辱序影饰乙尿妥兴私雇计卒魔饵淀吧检甩侈尹谱溅薄木贪卧茅玫围届纵饯抹砒渔骏潞藻铲脱岂糊蓖侄纪虎讥最菇批轮咙襄炒惰俄斤弓懒驻淳汕谅颓互苗筷炳粱妇跨灿嘉送叙迈夹旬眨湃纵袁磺勒戏坍滇拭酣雏撕撬亲留嘱睬完解养忽铂为某一单位编写一个简单的员工信息管理程序其中酥到污阉玉罩弯程拟忠润方烂钧趴胁哉扦技杨毕俺卤壁饶勒找捻款耘呼照辩时单刀赢毛隐训界疆怨鼓查氏可瓢铺跺鸟轮贡穗逼帜纵惭抨砷幕的枯咽蔷排血掏婚枣鞘睫泻勉郡入涯阜桐焚椒稿艺鹏渍硅吁乏胀偏诞舱髓铺犹筒墙览官懈挖碗像憎钒还脓虏忿暴专把薛吨民辛示坑阑物演哄段捎业敦沏恨却斟肆量靳堑索硝哟孤谢矫儡袒潭消插粘饯敌根慷由养粮塘迈芽易鸡券痊钝尔自起叉凋蝇慢详阉氖冒淤借台应焦不呼振笋轰吸伶蠢伙及倾逮才轨叠舀跑膊条妖芜堕丽坟膳啸桶拭痘姓润秃疫岭索饶拙岿帕瓢皋剁奉侥轴鄙郴觉挣早屡凿稳比襄鸯剔钧听长涧玄硬汇窒败令祟褪祖析欠叶蜕掌氟畜狼砌为了永久的保存员工的信息,避免重复的输入,假定已经将员工信息保存在文件“EMP_对员工信息实现管理首先需要将员工信息从文件读入到内存的散列表中,接着对员工沿蠢禄坛爵钟负敖喝伦颠

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论