职工信息管理系统程序设计.doc

上传人:豆**** 文档编号:24114170 上传时间:2022-07-03 格式:DOC 页数:11 大小:173.50KB
返回 下载 相关 举报
职工信息管理系统程序设计.doc_第1页
第1页 / 共11页
职工信息管理系统程序设计.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《职工信息管理系统程序设计.doc》由会员分享,可在线阅读,更多相关《职工信息管理系统程序设计.doc(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流职工信息管理系统程序设计.精品文档.引言通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程有很多困惑但是当自己能够独立的看懂,能够独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我可以看懂一些简单的程序,编写一些简单的程序,更多的是学会了一种思想编程,它让我去思考很多日常生活中的事物是怎样通过一个个小小的函数实现其功能的,激发我探究的兴趣,更让我认真学习C语言的程序设计。C语言是在国内外广泛使用的一种计算机语言。C语言简洁紧凑、使用灵活方便、运算符丰富、适用范围大、可移植性好。它既具有高级语言的特点,又具有汇编

2、语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。在这次的课程设计中我将通过亲自设计程序,让自己熟悉C语言操作,更熟练的掌握C语句。初步体会编程的过程,在不断的调试中获得最为完整的程序,为将来的程序深入学习打下基础和培养兴趣。1 功能简介和设计要求11程序功能简介可以向文件中录入、删除、添加、查询职工信息,也可以从文件中导出来浏览12程序设计要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计职工信息管理系统,使之能提供以下功能:系统以菜单方式工作职工信息录入功能(职工信息用文件保存)输入

3、职工信息浏览功能输出查询信息功能:(至少一种查询方式)算法按职工号查询按学历查询 按电话查询职工信息删除、添加功能2 程序总体设计框图输入函数 :用键盘输入职工信息写入函数:将信息写入指定文本文件导出函数:将信息导出放在结构数组em中 浏览函数 :将所有信息显示在屏幕上按职工号查询 :输入职工号显示信息 显示主菜单查询函数按电话查询 :输入名字显示信息按学历查询 :输入学历显示信息删除函数:删除原有的职工信息添加函数:添加新的职工信息3 主要函数介绍主函数:main()显示系统工作菜单,罗列该系统所有功能。先声明所有将会调用到的函数名。再运用选择函数switch即可根据使用者所输入的功能代号进

4、入对应的功能程序。亮点:定义一个全局变量*p和全局变量。其中表示当前系统中职工人数,指向的地址,追踪人数变化,这样在添加或者删除导致人数变化后,浏览函数display()能够正确显示出当前人数的职工信息。宏定义defineN指定首次输入的职工人数,可根据不同需要随时更改。显示菜单开始输入功能代码switch(n) n=1 n=2 n=3 n=4 n=5 default退出Exit(0)调用添加函数Add()调用查询函数Search()调用删除函数Del()调用浏览函数Display()调用输入函数Input()结束输入函数:void input()定义一个结构struct employee和数

5、组em【N】用来储存N个职工的所有信息(职工号em【i】number、姓名em【i】name、性别em【i】sex、年龄em【i】age、学历em【i】xueli、工资em【i】wage、住址em【i】address、电话em【i】telephone)。通过for循环输入所有职工信息。用printf语句提示需要输入的内容,接着用scanf语句输入相应内容。输入完毕后套用保存函数save(N)将所输入的信息写入指定文件。开始i=1Printf(“创建完毕”)结束i+Printf(“提示需要输入的内容”)Scanf(“输入信息”)in =0!=0保存函数:voidsave(intm)定义文件指针,

6、用只写打开指定在盘的“d:/bbb.txt”文本文件。首先用语句判断文件是否打开成功,若返回值不为,则可继续下面操作。用循环通过语句将结构数组中的内容写入保存在盘的文本文件里面。形参m指需要写入文件的职工人数。最后关闭文件。开始fopen(“d:bbb.txt”, “w”)exit=0Printf写入文件i=1&n=7) flag=1; break; else flag=0; printf(您输入有误,请重新选择!); while(flag=0); while(flag=1) switch(n) case 1:printf( 输入职工信息n);printf(n);input();break;

7、case 2:printf( 浏览职工信息n);printf(n);display();break; case 3:printf( 按职工号查询职工信息n);printf(n);search();break; case 4:printf( 删除职工信息n);printf(n);del();break; case 5:printf( 添加职工信息n);printf(n);add();break; case 6:printf( 修改职工信息n);printf(n);modify();break; case 7:exit(0);break;default :break; getchar(); pri

8、ntf(n); printf(是否继续进行(y or n):n); scanf(%c,&a); if(a=y) flag=1; system(cls); /*清屏*/ menu(); /*调用菜单函数*/ printf(请再次选择你需要操作的步骤(1-6):n); scanf(%d,&n); printf(n); else exit(0);void input() /*录入函数*/ int i,m; printf(请输入需要创建信息的职工人数(1-100):n); scanf(%d,&m); for (i=0;im;i+) printf(职工号: ); srand(int)time(0); e

9、mi.num=rand()%10000+20140000; if(emi.num!=emi-1.num) printf(%8d ,emi.num); printf(n); printf(请输入姓名: ); scanf(%s,emi.name); getchar(); printf(请输入性别(f-女 m-男): ); scanf(%c,&emi.sex); printf(请输入年龄: ); scanf(%d,&emi.age); printf(请输入学历: ); scanf(%s,emi.xueli); printf(请输入工资: ); scanf(%d,&emi.wage); printf(

10、请输入住址: ); scanf(%s,emi.addr); printf(请输入电话: ); scanf(%ld,&emi.tel); printf(n); printf(n创建完毕!n); save(m);void save(int m) /*保存文件函数*/ int i; FILE*fp; if (fp=fopen(employee_list,wb)=NULL) /*创建文件并判断是否能打开*/ printf (cannot open filen); exit(0); for (i=0;im;i+) /*将内存中职工的信息输出到磁盘文件中去*/ if (fwrite(&emi,sizeof

11、(struct employee),1,fp)!=1) printf(file write errorn); fclose(fp);int load() /*导入函数*/ FILE*fp; int i=0; if(fp=fopen(employee_list,rb)=NULL) printf (cannot open filen); exit(0); else do fread(&emi,sizeof(struct employee),1,fp); i+; while(feof(fp)=0); fclose(fp); return(i-1);4.2.2 调试过程5 设计心得与总结:经过一学期的

12、C语言学习,我们掌握了C语言的基础知识,能够读懂别人用c语言设计编译的程序。平时的程序设计大多是在书上看到的都是以书面的形式出现,虽然有所接触,但都不完全。而这周的课程设计,却让我们完完全全用自己所学到的知识编写了一个完整的系统程序。这是一个新的挑战,也是一种新的学习。我们组选择的题目是职工信息管理系统。这需要我们自己设计一个系统,可以输入信息,保存到文件里,再从文件里调出来,使之显示在屏幕上,进行删除、添加、查询等对信息的修改。初看到这个题目觉得很简单,但当我做到电脑前准备开始编写代码的时候才发现无从下手。通过去图书馆查找程序设计相关的书籍,和上网参考前人编写的类似程序,我脑中才有了一个大概

13、的方向。慢慢开始着手写下了第一段输入函数的代码,因为这是我们平时课堂上用的最多最熟的printf语句,写了很长一大段,调式运行竟然成功了,顿时信心倍增。于是我开始迫不及待的开始写第二段保存函数。我记得第一天下来,我只写好了这两个函数,但还是很开心,因为这是我编的第一个小系统的成功的开始!接下来的几天都在宿舍整个下午的对着电脑不断的编译、调试、修改,每次编好一个能够成功运行的程序,都会感到很欣慰,并增加继续下去的信心。当然其中也有遇到困难的时候。好几次遇到编好的程序调试没有错误,却偏偏不能运行这种情况,自己编的程序自己很难发现当中的错误,而电脑又没有提示,这时候就很受打击,也会着急。反复检查都找

14、不出毛病来的时候就会有想要放弃的念头。有时候就直接关机去做别的事情,等再开始做程序的时候,才发现先前的错误所在。这时候会有一种“柳暗花明又一村”的欣慰感觉。总之,遇到困难,可以先放一放,让脑子休息一下,忘掉错误的记忆。或许等过段时间再回过头来,就会很容易的发现之前的错误了。随着编好的程序越多,累积的经验也越多,查找错误就越快了。还有会发现很多程序有很多相似之处,可以通过复制修改的发式来编写。虽然题目要求只需要两种查询方式,但当我编出规律之后自然就想多写一个,写完就会有很大的成就感了。当所有功能函数都编好后,我用主函数将他们串起来,这是遇到最大的问题就是经过删除、添加后职工人数会发生变化。想了很久,又翻以前的课堂笔记,最后想到了使用全局变量来解决这个问题。这个问题的成功解决预示着我们的职工信息管理系统大功告成!总之,经过这一次的课程设计,我们体会到了痛苦与快乐同存的感觉。当最后一次成功串联运行所有函数时,真的很开心。通过这次实践,我们能够更熟练掌握C语言,特别是循环和文件,当时在课堂上没有学太清楚的,这个程序设计之后都很明白了。同时增加了我们对程序设计的兴趣,暑假回家我还会尝试着做一些其他的小系统。6 参考文献1谭浩强。C程序设计(第二版)。北京:清华大学出版社,20092谭浩强。C程序设计题解与上机指导(第二版)。北京:清华大学出版社,20093百度文库

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com