计算机应用实践报告课程设计报告职工信息管理系统.doc

上传人:文库蛋蛋多 文档编号:3687003 上传时间:2023-03-15 格式:DOC 页数:21 大小:97.50KB
返回 下载 相关 举报
计算机应用实践报告课程设计报告职工信息管理系统.doc_第1页
第1页 / 共21页
计算机应用实践报告课程设计报告职工信息管理系统.doc_第2页
第2页 / 共21页
计算机应用实践报告课程设计报告职工信息管理系统.doc_第3页
第3页 / 共21页
计算机应用实践报告课程设计报告职工信息管理系统.doc_第4页
第4页 / 共21页
计算机应用实践报告课程设计报告职工信息管理系统.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《计算机应用实践报告课程设计报告职工信息管理系统.doc》由会员分享,可在线阅读,更多相关《计算机应用实践报告课程设计报告职工信息管理系统.doc(21页珍藏版)》请在三一办公上搜索。

1、数学与计算机学院课程设计说明书课 程 名 称:计算机科学与技术程序设计语言-课程设计课 程 代 码: 题 目: 职工信息管理系统 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 年 月 日完 成 时 间: 年 月 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书撰写质量(45)总 分(100)指导教师签名: 年 月 日目 录 1 引 言11.1 问题的提出 11.2国内外研究的现状 11.3任务与分析 12 程序的主要功能22.1添加功能22.2删除功能22.3 按年龄排序全部职工信息22.4显示功能22.5按姓名查找功能22.6按学历查找功

2、能23 程序运行平台34 总体设计45 模块分析55.1 添加模块55.2 显示模块55.3 按姓名查找模块55.4 按学历查找模块55.5 删除模块55.6按年龄排序全部职工信息56 系统测试67 结论7致 谢8参考文献9 摘 要 随着计算机的普及,小型系统的编写有了很快的发展。本系统分析了任务书中的要求,利用C语言编程实现了职工信息管理系统,该系统具有人员信息的添加,删除,查找,修改和显示功能。关键词:职工信息管理系统;计算机; 添加;删除;查找;修改。1 引 言 1.1 问题的提出 在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀

3、鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用。小型企业出与这种目的制作了这个人事管理系统。1.2国内外研究的现状 现今国内外大多注意在大型人事管理系统的开发,在小型人事管理系统却少有开发,但并非所有的公司都实用与大型系统,所以小型系统有开发的必要。1.3任务与分析 本课题主要的目的是编程实现职工信息管理系统。系统以菜单方式工作:1.职工信息(包括姓名、编号、性别、年龄、学历、职称、工种等)浏览功能输出2.职工信息删除、修改功能(任选项);3.职工信息录入功能(职工信息用文件保存)输入;4.查询和排序功能:(至少一种查询方式):按姓名查询和按学历查询等。(要求职工信息存入文件)2

4、程序的主要功能2.1添加功能添加一个职工的基本信息,包括姓名、编号、性别、年龄、学历、职称、工种。2.2删除功能能够对一个职工的信息进行删除。(按姓名进行删除)2.3 排序功能能够对于全部职员的信息进行年龄排序。2.4显示功能显示所有职工的信息包括姓名、编号、性别、年龄、学历、职称、工种。2.5按姓名查询功能根据你键入的职工姓名,显示其详细信息!2.6按学历查询功能根据你键入的职工学历,显示其详细信息!3 程序运行平台VC+6.0。具体操作如下:新建C语言源程序工程,添加相应的源文件至此源程序,再编译发现是否有错误,有则改之,无则链接成可执行文件,执行次可执行文件。4 总体设计主 函 数添加信

5、息删除信息排序信息姓名查询显示信息学历查询 图4.1 系统总体框架图5 模块分析5.1 添加模块系统将提示用户输入新添加的职员的信息,插入在文件中。void input() /*信息录入函数*/FILE *fp; /*定义文件*/worker xs;if(fp=fopen(worker.txt,ab)=NULL) printf(cant open file!n);exit(0); /*打开文件,如果不能打开,就关闭所有文件*/ printf(n录入格式 姓名 编号性别年龄 学历 职称 工种。当输入姓名为end结束录入n); while(1) scanf(%s,xs.name); if(strc

6、mp(xs.name,end)=0) break; /*如果输入的是end,则停止输入*/ scanf(%d%s%d%s%s%s,&xs.bianhao,xs.sex,&xs.nianling,xs.xueli,xs.zhicheng,xs.gongzhong); fwrite(&xs,sizeof(worker),1,fp); /*将信息写入文件*/fclose(fp); /*关闭文件*/ 5.2 显示模块显示模块将输出所有职员的主要资料 。void print() /*职工信息浏览函数*/FILE *fp;worker s; /*定义结构体变量*/system(cls); /*清屏*/if

7、(fp=fopen(worker.txt,rb)=NULL) printf(cant open file!n);exit(0);printf(n%10s %5s %2s %2s %5s %5s %5sn,姓名,编号,性别,年龄,学历,职称,工种);while(!feof(fp)fread(&s,sizeof(worker),1,fp);/*从文件中读取职工信息*/if(feof(fp) break;/*判断是否文件尾*/printf(%10s %5d %5s %5d %5s %5s %5sn,s.name,s.bianhao,s.sex,s.nianling,s.xueli,s.zhichen

8、g,s.gongzhong);fclose(fp); /*关闭文件*/getch(); /*停止运行,便于观察结果*/5.3按学历查找模块首先由用户输入要修改的职员的学历,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的职员资料。void seekxueli() /*学历查找函数*/worker xsN;/*定义一个结构体一维数组*/FILE *fp;char xueli10;int i,k;system(cls);printf(n请输入要查找的学历: );scanf(%s,xueli);i=0;if(fp=fopen(worker.txt,r)=NULL) /*为输入打开一个已存

9、在的文本文件*/printf(cant open file!n);exit(0);while(!feof(fp)fread(&xsi,sizeof(worker),1,fp); /*从文件中读取职工信息*/ if(feof(fp) break;/*判断是否文件尾*/ if(strcmp(xsi.xueli,xueli)=0)/*如果数组中有和输入相同的学历,则找到它在数组中的位置,并输出*/ k=i;printf(n%10s %5s %2s %2s %5s %5s %5sn,姓名,编号,性别,年龄,学历,职称,工种);printf(%10s %5d %5s %5d %5s %5s %5sn,x

10、sk.name,xsk.bianhao,xsk.sex,xsk.nianling,xsk.xueli,xsk.zhicheng,xsk.gongzhong); getch();5.4 按姓名查找模块首先由用户输入要查找的职员姓名,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的职员资料。void seekname() /*姓名查找函数*/worker xsN; /*定义一个结构体一维数组*/FILE *fp;char name10;int i,k;system(cls);printf(n请输入要查找的职工姓名: );scanf(%s,name);i=0;if(fp=fopen(wo

11、rker.txt,r)=NULL) /*为输入打开一个已存在的文本文件*/printf(cant open file!n);exit(0);while(!feof(fp)fread(&xsi,sizeof(worker),1,fp); /*从文件中读取职工信息*/ if(feof(fp) break;/*判断是否文件尾*/ if(strcmp(xsi.name,name)=0) k=i;/*如果数组中有和输入相同的名字,则找到它在数组中的位置*/printf(n%10s %5s %2s %2s %5s %5s %5sn,姓名,编号,性别,年龄,学历,职称,工种);printf(%10s %5d

12、 %5s %5d %5s %5s %5sn,xsk.name,xsk.bianhao,xsk.sex,xsk.nianling,xsk.xueli,xsk.zhicheng,xsk.gongzhong);getch(); /*停止运行,便于观察结果*/5.5 删除模块首先由用户输入要删除的单个职员姓名,然后调用删除函数,删除该名职员的资料,并输出余下的职工信息。void dele() /*删除函数*/worker xsN; /*定义一个结构体一维数组*/FILE *fp; /*定义文件*/char name10; int i,j,k=0;system(cls);printf(n请输入要删除的职

13、工姓名: );scanf(%s,name);i=0;if(fp=fopen(worker.txt,a+)=NULL) /*为读写打开一个文本文件*/printf(cant open file!n);exit(0);while(!feof(fp)fread(&xsi,sizeof(worker),1,fp); /*从文件中读取职工信息*/ if(feof(fp) break; if(strcmp(xsi.name,name)=0) k=i; /*如果数组中有和输入相同的名字,则准备执行删除*/ i+;fclose(fp); /*关闭文件*/以下是删除后职工信息j=i;if(k=0)if(fp=f

14、open(worker.txt,w+)=NULL) /*为读写建立一个新的文本文件*/ printf(cant open file!n);exit(0); for(i=0;ij;i+)if(i=k) continue; /*执行删除功能*/ fwrite(&xsi,sizeof(worker),1,fp);fclose(fp); /*关闭文件*/else printf(删除失败!n); print(); /*嵌套调用职工信息浏览函数*/5.6排序模块系统将会把所有职员的资料全部按年龄排序并输出。void paixu() /*排序函数*/worker xsN;/*定义一个结构体一维数组*/wor

15、ker x;FILE *fp;int i,k,j;system(cls);i=0;if(fp=fopen(worker.txt,a+)=NULL) /*为读写打开一个文本文件*/printf(cant open file!n);exit(0);while(!feof(fp)fread(&xsi,sizeof(worker),1,fp);/*从文件中读取职工信息*/if(feof(fp) break;i+;fclose(fp);k=i;for(i=0;i=k-1;i+)for(j=0;jxsj+1.nianling)x=xsj;xsj=xsj+1;xsj+1=x; /*冒泡法排序*/printf

16、(n%10s %5s %2s %2s %5s %5s %5sn,姓名,编号,性别,年龄,学历,职称,工种);for(i=0;i=k-1;i+)printf(%10s %5d %5s %5d %5s %5s %5sn,xsi.name,xsi.bianhao,xsi.sex,xsi.nianling,xsi.xueli,xsi.zhicheng,xsi.gongzhong);getch(); /*停止运行,便于观察结果*/6 系统测试首先进入VC+6.0,打开工程person.dsw,然后进入源程序,接着选择Build下的Execute person.exe即可,也可以不打开工程,直接双击per

17、son文件夹下的debug或release子文件夹下的person.exe文件即可运行程序。6.1职工信息录入6.2职工信息浏览6.3职工信息删除。删除前信息删除人删除后信息6.4按姓名查询当输入为林雨时6.5按学历查询6.6按年龄从小到大排序年龄从16-23-69,从小到大。7 结论7.1总结 经过不到一个星期的C语言课程设计,我对C语言有了更进一步的认识和了解,从刚开始不知从何下笔到现在的漂亮运行,我付出大量的时间。从而也使我明白要学好C语言重在实践,要通过不断的上机操作,并且练习自主设计程序才能更好的掌握它。以前上课感觉自己学会了很多 ,但到真正用的时候才发现没学的还有好多好多,虽然课堂

18、上看似学会了,可到实际操作时问题多多。通过这次课程设计把所学的东西用在了实践上,设计出来一些有用的东西,感觉很有成就感,虽然在设计的过程中遇到了很多困难,比如对结构体strcmp的定义及使用,折半查找法的使用,主函数menu对浏览,录入等子函数的调用等等的,但最终都被我解决了,从而也加强了解决问题的能力。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,软件开发已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发开发技术是十分

19、重要的。 回顾起此次C语言课程设计,至今我仍感慨颇多,的确,从模块单独设计到整体调用,从理论到实践,在整整一个星期的日子里,可以说是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正对所学知识得到应用,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过

20、的知识理解得不够深刻,掌握得不够牢固,比如说对结构体strcmp的定义及使用,折半查找法的使用,主函数menu对浏览,录入等子函数的调用等等的 通过这次课程设计之后,对以前所学过的知识做了重新温故7.2体会 程序设计需要很强的逻辑推理能力,以及过硬的数学函数能力。一定要细心,无论是需求分析,概要设计,详细设计,编写代码,还是调试分析阶段都需要特别的细心,稍有不慎将会影响整个程序的设计运行。而且实现同一目的的方法有很多,要灵活应运,选择循环次数少,简洁明了的途径。通过这次课程设计使我看到了自己在这方面的缺陷,同时也有了很大的进步,学会了很多新知识。对程序设计产生了比较浓厚的兴趣,在以后的学习当中

21、将会不断地去探索研究,希望能够在程序开发方面取得一定的成就。 致 谢感谢老师一学期的教导,正是由于老师的辛勤教导,我才能完成本次课程设计。同样感谢曾帮助过我的同学,正是由于他们的无私帮助,我才能解决编程过程中的一些问题,成功编程。最后感谢学校给了我学习的条件,让我顺利的完成了此次课程设计。参考文献1 谭浩强.程序设计题解与上机指导. 北京:清华大学出版社,2005.10 2 黄明,梁旭 等编著.C语言课程设计. 北京:电子工业出版社,2006.63 陈清华,朱红主编. Visual C+课程设计案例精选与编程指导. 南京:东南大学出版社,2003.06 4 李春葆. C语言习题与解析 A级. 北京:清华大学出版社,2006.10

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号