版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数学与计算机学院课程设计说明书课 程 名 称:计算机科学与技术程序设计语言-课程设计课 程 代 码: 题 目: 职工信息管理系统 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 年 月 日完 成 时 间: 年 月 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书撰写质量(45)总 分(100)指导教师签名: 年 月 日目 录 1 1 引引 言言 .1 11.1 问题的提出 .11.2 国内外研究的现状 .11.3 任务与分析 .12 2 程序的主要功能程序的主要功能 .2 22.1 添加功能.22.2 删除功能.22.3 按年龄排序全部职工信
2、息.22.4 显示功能.22.5 按姓名查找功能.22.6 按学历查找功能.23 3 程序运行平台程序运行平台 .3 34 4 总体设计总体设计 .4 45 5 模块分析模块分析 .5 55.1 添加模块.55.2 显示模块.55.3 按姓名查找模块.55.4 按学历查找模块.55.5 删除模块.55.6 按年龄排序全部职工信息.56 6 系统测试系统测试 .6 67 7 结论结论 .7 7致致 谢谢 .8 8参考文献参考文献 .9 9 摘摘 要要 随着计算机的普及,小型系统的编写有了很快的发展。本系统分析了任务书中的要求,利用 c 语言编程实现了职工信息管理系统,该系统具有人员信息的添加,删
3、除,查找,修改和显示功能。关键词:关键词:职工信息管理系统;计算机; 添加;删除;查找;修改。1 引引 言言 1.1 问题的提出问题的提出 在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀” ,因此小型的的软件对于这种单位自然有十分重要作用。小型企业出与这种目的制作了这个人事管理系统。1.2 国内外研究的现状国内外研究的现状 现今国内外大多注意在大型人事管理系统的开发,在小型人事管理系统却少有开现今国内外大多注意在大型人事管理系统的开发,在小型人事管理系统却少有开发,但并非所有的公司都实用与大型系统,所以小型系统有开发的必要。发
4、,但并非所有的公司都实用与大型系统,所以小型系统有开发的必要。1.3 任务与分析任务与分析 本课题主要的目的是编程实现职工信息管理系统。系统以菜单方式工作:1.职工信息(包括姓名、编号、性别、年龄、学历、职称、工种等)浏览功能输出2.职工信息删除、修改功能(任选项);3.职工信息录入功能(职工信息用文件保存)输入;4.查询和排序功能:(至少一种查询方式):按姓名查询和按学历查询等。 (要求职工信息存入文件)2 程序的主要功能2.1 添加功能添加功能添加一个职工的基本信息,包括姓名、编号、性别、年龄、学历、职称、工种。2.2 删除功能删除功能能够对一个职工的信息进行删除。 (按姓名进行删除)2.
5、3 排序功能排序功能能够对于全部职员的信息进行年龄排序。2.4 显示功能显示功能显示所有职工的信息包括姓名、编号、性别、年龄、学历、职称、工种。2.5 按姓名查询功能按姓名查询功能根据你键入的职工姓名,显示其详细信息!2.6 按学历查询功能按学历查询功能根据你键入的职工学历,显示其详细信息!3 程序运行平台vc+6.0。具体操作如下:新建 c 语言源程序工程,添加相应的源文件至此源程序,再编译发现是否有错误,有则改之,无则链接成可执行文件,执行次可执行文件。4 总体设计 图 4.1 系统总体框架图主 函 数添加信息删除信息排序信息姓名查询显示信息学历查询5 模块分析5.15.1 添加模块添加模
6、块系统将提示用户输入新添加的职员的信息,插入在文件中。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,); if(strcmp(,end)=0) break; /*如果输入的是 end,则停止输入*
7、/ 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.25.2 显示模块显示模块显示模块将输出所有职员的主要资料 。void print() /*职工信息浏览函数*/file *fp;worker s; /*定义结构体变量*/system(cls); /*清屏*/if(fp=fopen(worker.txt,rb)=null) printf
8、(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.bianhao,s.sex,s.nianling,s.xueli,s.zhicheng,s.gongzhong);fclose(fp); /*关闭文件*/ge
9、tch(); /*停止运行,便于观察结果*/5.35.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) /*为输入打开一个已存在的文本文件*/printf(cant open
10、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,,xsk.bianhao,xsk.s
11、ex,xsk.nianling,xsk.xueli,xsk.zhicheng,xsk.gongzhong); getch();5.45.4 按姓名查找模块按姓名查找模块首先由用户输入要查找的职员姓名,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的职员资料。void seekname() /*姓名查找函数*/worker xsn; /*定义一个结构体一维数组*/file *fp;char name10;int i,k;system(cls);printf(n 请输入要查找的职工姓名: );scanf(%s,name);i=0;if(fp=fopen(worker.txt,r)=nu
12、ll) /*为输入打开一个已存在的文本文件*/printf(cant open file!n);exit(0);while(!feof(fp)fread(&xsi,sizeof(worker),1,fp); /*从文件中读取职工信息*/ if(feof(fp) break;/*判断是否文件尾*/ if(strcmp(,name)=0) k=i;/*如果数组中有和输入相同的名字,则找到它在数组中的位置*/printf(n%10s %5s %2s %2s %5s %5s %5sn,姓名,编号,性别,年龄,学历,职称,工种);printf(%10s %5d %5s %5d %5s %
13、5s %5sn,,xsk.bianhao,xsk.sex,xsk.nianling,xsk.xueli,xsk.zhicheng,xsk.gongzhong);getch(); /*停止运行,便于观察结果*/5.55.5 删除模块删除模块首先由用户输入要删除的单个职员姓名,然后调用删除函数,删除该名职员的资料,并输出余下的职工信息。void dele() /*删除函数*/worker xsn; /*定义一个结构体一维数组*/file *fp; /*定义文件*/char name10; int i,j,k=0;system(cls);printf(n 请输入要删除的职工姓名: )
14、;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(,name)=0) k=i; /*如果数组中有和输入相同的名字,则准备执行删除*/ i+;fclose(fp); /*关闭文件*/以下是删除后职工信息j=i;if(k=0)if(fp=fopen(w
15、orker.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.65.6 排序模块排序模块系统将会把所有职员的资料全部按年龄排序并输出。void paixu() /*排序函数*/worker xsn;/*定义一个结构体一维数组*/w
16、orker 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; /*冒泡法排序*/prin
17、tf(n%10s %5s %2s %2s %5s %5s %5sn,姓名,编号,性别,年龄,学历,职称,工种);for(i=0;i=k-1;i+)printf(%10s %5d %5s %5d %5s %5s %5sn,,xsi.bianhao,xsi.sex,xsi.nianling,xsi.xueli,xsi.zhicheng,xsi.gongzhong);getch(); /*停止运行,便于观察结果*/6 系统测试首先进入 vc+6.0,打开工程 person.dsw,然后进入源程序,接着选择 build 下的 execute person.exe 即可,也可以不打开工程
18、,直接双击 person 文件夹下的 debug或 release 子文件夹下的 person.exe 文件即可运行程序。6.16.1 职工信息录入职工信息录入6.26.2 职工信息浏览职工信息浏览6.36.3 职工信息删除。职工信息删除。删除前信息删除人删除后信息6.46.4 按姓名查询按姓名查询当输入为林雨时6.56.5 按学历查询按学历查询6.66.6 按年龄从小到大排序按年龄从小到大排序年龄从 16-23-69,从小到大。7 结论7.17.1 总结总结 经过不到一个星期的 c 语言课程设计,我对 c 语言有了更进一步的认识和了解,从刚开始不知从何下笔到现在的漂亮运行,我付出大量的时间。
19、从而也使我明白要学好 c 语言重在实践,要通过不断的上机操作,并且练习自主设计程序才能更好的掌握它。以前上课感觉自己学会了很多 ,但到真正用的时候才发现没学的还有好多好多,虽然课堂上看似学会了,可到实际操作时问题多多。通过这次课程设计把所学的东西用在了实践上,设计出来一些有用的东西,感觉很有成就感,虽然在设计的过程中遇到了很多困难,比如对结构体 strcmp 的定义及使用,折半查找法的使用,主函数 menu对浏览,录入等子函数的调用等等的,但最终都被我解决了,从而也加强了解决问题的能力。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作
20、能力的具体训练和考察过程.随着科学技术发展的日新日异,软件开发已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发开发技术是十分重要的。 回顾起此次 c 语言课程设计,至今我仍感慨颇多,的确,从模块单独设计到整体调用,从理论到实践,在整整一个星期的日子里,可以说是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正对所学知识得到应用,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- IT行业软件工程师技术创新能力与开发效率绩效评定表
- 物流规划师物流运输效率与成本控制KPI考核表
- 财务部应付账款偿还计划确认说明函6篇
- 暴雨紧急排水紧急小组预案
- 云计算技术选型实施指南
- 匠心独运未来工匠:小学主题班会课件劳动教育与创新
- 高级会所宴会经理客户服务满意度KPI考核表
- 互联网产品市场营销经理绩效考评表
- 智慧教育平台运营与服务保障方案
- 安排年度绩效评估会议计划通知函6篇
- 无粘结预应力钢绞线施工方案及工艺方法
- 2026年高考(浙江卷)历史试题及答案
- 电商运营流程与管理制度
- 痰湿体质的中医护理
- 2023-2024学年北京市海淀区九年级(上)期末数学试卷(含解析)
- DIY甜品创业计划书
- 人教版三年级下册数学-应用题专项练习分类及答案
- 建筑劳务有限公司安全生产管理制度
- 脚手架工程专项施工方案(宁海)
- 项目整改实施方案
- 供应商供货质量保障措施
评论
0/150
提交评论