C语言职工档案管理系统_500多行代码[1]_第1页
C语言职工档案管理系统_500多行代码[1]_第2页
C语言职工档案管理系统_500多行代码[1]_第3页
C语言职工档案管理系统_500多行代码[1]_第4页
C语言职工档案管理系统_500多行代码[1]_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、1程序的总体设计职工档案管理系统设计,每个职工是一条记录,包括编号,姓名,性别,出生年 月,所在 部门,职称,工资级别、电话等。系统可实现以下功能:1、输入功能:输入每一位职工记录,将其信息存入文件中。2、显示功能:完成全部职工记录的显示。3、查找功能:完成按编号或姓名查找职工的相尖记录,并显示。2. 数据结构对于这个职工档案系统的设计,我主要采用结构体存放不同类型的数据,运用数组对各数据进行控制,而所有数据(除ID夕卜)都以字符型的形式存放,这样方便存入中文数据。本程序用指 针相对较少,事实上,我只在文件的保存函数上用了指针。只要是因为我们对指针了解相对较少,而且 指针相对容易出错误,而这个

2、程序用结构体和数组就可以很好地完成。3. 函数原型声明的说明(功能,参数,返回值)1主函数void main()主函数的主意作用是调用函数以实现程序的预期功能,主函数有各函数的声明调用。主函数用switch语句对各函数进行调用。2 添力I函数:void appe nd()该函数是无参函数,主要功能是添加职工,由于界面为DOS勺命令界面,为了使添加更加人性化,我采用先确认添加人数,再对每个员工的每条信息,逐个添加,这样可以减少错误的发生和加快输入速度。员工添加后可用保存函数,将其数据保存到指定文件中。3 查找函数:void search()该函数是无参函数,主要功能是查找员工,可按编号或姓名查找

3、职工的相矢记录,按姓名查找时采用字符串处理函数strcmpO进行比较,这样可以用两种方法查找职工信息。4 输出函数:void output()该函数是无参函数,主要功能是输出全部员工的信息,用for语句进行输出。5 删除函数:void delete()该函数是无参函数,主要功能是删除指定员工的全部信息,该函数相对较复杂,用for语句对删除后该员工后的员工的序号进行排列。6 修改函数:void modify()该函数是无参函数,主要功能是修改指定员工的信息,该函数有密码操作,要输入密码 后才能进 入修改界面5密码操作采用wh订e语句,用getch()输入密码5可以将密码隐藏。这里getch()函

4、 数要调用conio.h文件7保存函数:void save()该函数是无参函数,主要功能是保存添加的员工信息到指定文件,该函数用到了指针和 文件的内 容。8 主菜单函数:void showme nu()该函数是无参函数,主要功能是提供美观的菜单界面。9文档导入函数:void read()该函数是无参函数,主要功能是导入文件中的职工档案信息。9数据排序函数:void sort()该函数是无参函数,主要将职工数据排序,分按编号排序和工资排序,工资排序又分从 咼到彳氐和 从低到咼两种。、详细设计开始主函数按 编 号 杏 找按 姓 名找输入密码按匸资排序修改数据由高到低由低到高按编今排序三、测试及调试

5、(测试方案、存在的问题及解决方法)测试方案、存在的问题及解决方法我用的是visual C+ 6.0进行编译和测试的,主要观察程序运行的错误及找出错误发生的原因,还有各函数的功能的实现以及部分变量在程序运行时的变化。采取逐个函数测验的方法,虽 然比较耗时间,但是我实在没有找到可以检查我的海量错误的方法。下面是某此调试的截图。iimini- IMocals 1 t emptemp929ncn3JiieO. ci. c (80) : error C2143:syntait error : missing 1 before * 3i. c t0i : vatiting C4091: ” : ignor

6、ed on left ftf irtti- c (E3) :error1. c (89) : errorC2065;I. c (134) : error C2O01:I. c (135) i error C2143:L c (140) i error C2143:1. c (l&l) i error C2143:I. c C176) i error C2O6B:I. c (176) r warning C4047 : n functioni. c (176): earningLc(lTfi):Lc(l?6):I,G(205) ii. c(225) : i.c(232);Lc(2333 :i.

7、c (236): ic(237): i c237): Lct237):i. c (237): earning C4047!11. c f23 7)T Q tOAAvhsn no variable 13 declared C2065 ;1 number1 : undeclared identifierT i1 : undeclarftd i dent if iernewlin.e in constantsyntax error:Jhissingsyntax error:missing p:,syntax error:Blissing * /? workj?: undeclaredidentifi

8、ertsfore:乃工亡尹” before for1 before 3,brealtA匕err6rerrorerror erral and actual parameter 1indirect ion ioul mt,(十:1 in-tH differs in levels of indirect ion f roiiL f st met _iotufw 虫 tniii 呂匚 4047 I =: * irrt d_i.fi&rs in levels indite Ct loti f eojti * Void *?A rninrr I ACAHR F linrt 可以看到,这时候几乎什么错误都有

9、,低级的错误数不清,高级的错误无法数,在这样的局势下, 我仍然心静如水地检查错误,下面介绍我遇到的问题及其解决方案。我主要遇到了三个函数问题,第一,我原本想用数组代替指针,这样可以更好的检查错 误,但是 后来的的数据保存就遇到了问题,老是无法正确的保存数据,所以还是用了个FILE*fp,当然也为此狂看了文件一章,最后在数据导入也用到了指针和文件。第二,题目本没有要求写删除 函数也没有要求写排序函数,也许修改函数能够代替删除函数的一部分功能,但是无法减少职工的数 目,这个对于想裁员的公司不利,所以,我又想了一个删除函数。写删除函数遇到的问题是,我删除了 编号为2的函数,如何把2后面的同志移到前面

10、来,而1不动,后来还是用最笨的for语句搞定了,据说这里可以用链表很美妙地完成,但是也可以不用链表。排序函数是最后加上去的,一个原因是我的程 序不够500行,就完成了功能5后来要求尽情发挥,我就用了排序函数,这个函数相对简单,用的是我们学过的起泡法排序,有按照编号和 工资排序两种方式,也用到了 switch语句,这样是程序的功能更加完善了。第三,密码的问题,密码 函数是个比较严肃的函数,为此不能敷衍了事用个while语句和字符串处理函数搞定,这样密码是明文的,很别扭。所以,我又加了一个不熟悉的头文件#in eludevconio.h,调用了这个文件里的getch()函数,这个函数能够不显示你输

11、入的字符,很有保 密特性。 程序设计其实是最大的问题,起初的两三天我根本就不知道从哪里入手,后来参考到可以用 switch语句对各功能函数很好的利用,这里还用到了break语句,感觉,课堂上没讲的东西就是这么有用啊!尖于如何输入数据信息的问题,我起初准备用一个scanf语句,输入全部的职工信息,都是后来发现这样极易出现输入格式不正确的问题,后来就考虑用一个一个数据输入的方法,虽然这样做使代码长度加长了一些,但是这样输入简单明了更加人性化,所以我最终采用了逐个数据输 入的方法。我还用宏定义定义了一个最大员工数MAX_NUM ,这样能够使程序更高效率更准确地运行而且改变最大员工数业很方便。最后谈谈

12、调试错误的问题,上面已经晒了我的错误截图,鳳觉这些错误确实很震撼人,有时候 就一个字符串函数应用错误,找了半天,居然发现st romp前面忘记加“!” 了,还有诸如忘记写“ ;”最头痛的还是把$写成%d这样程序能够运行,就是系统告诉你内存错误,搞得我以为电脑坏了,调了半天电脑,这就足够悲剧的。最后还是一点一点地去检查,不怕花费时间, 就怕那些小东西太不入眼了。越是小的问题,可能浪费的时间就越让人感到悲愤,所以,细心检查永远是解决此类问题的良方。四、小结(收获和建议)通过本次课程设计我不仅温习了 C程序设计课程的主体知识,还锻炼了对错误的承受能力,而且 这个题目是我这辈子做过的最大的题目,搞了一

13、个多星期才有一点点眉目,让人感到前途特别渺茫,也 催迫着我不断前进。开始时,对这个题目完全无从下手,后来列出了主函数和结构体,就慢慢算入门了,成天趴在电 脑里,电脑前放着那本绿色的程序设计的书,外面冷风嗖嗖,鞭炮响起。明天就是除夕了,我要赶在春 节前把这个题目做完。而现在函数全部写出来了,且运行的相当成功,几个特殊的功能函数也奇迹般的 起作用了,小小的成功给了我大大的喜悦。这个时候,电脑不是机器,数据不是抽象,一切都像春风一 样。调试程序的时候情绪一直十分难控,一声声叹息加上使劲敲打键盘的声音还有怒目对视 屏幕,这 样感觉在无尽的黑暗中寻找黎明。现在黎明的曙光已经出现,感觉一切的努力都是那么值得,心胸豁然 开朗。当然也有没有解决的问题,就是我的密码不能够在程序运行的时候修改只能够在源程序上修改,后 来想了很久也没有找到好的办法。建议,由于在学校时没有上过几次实验课,理论的东西已经慢慢淡忘。所以建议以 后此类的 课尽量在实验室上好些,还有感觉只有一个题目没有啥挑战性,应该多布置几个附件:主要源程序代码(需打印)广C语言课程设计任务书:职工档案

温馨提示

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

评论

0/150

提交评论