最新计算机应用实践报告课程设计报告职工信息管理系统内容摘要:

..................................................................................... 9 按年龄排序全部职工信息 ............................................................................................... 10 6 系统测试 ....................................................... 12 7 结论 ........................................................... 15 致 谢 ........................................................... 17 参考文献 ......................................................... 18 职工信息管理系统 摘 要 随着计算机的普及,小型系统的编写有了很快的发展。 本系统分析了任务书中的要求,利用 C 语言编程实现了职工信息管理系统,该系统具有人员信息的添加,删除,查找,修改和显示功能。 关键词: 职工信息管理系统。 计算机。 添加;删除;查找;修改。 1 职工信息管理系统 1 引 言 问题的提出 在现代化的企业管理中,人事管理系统有 着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀 ” ,因此小型的的软件对于这种单位自然有十分重要作用。 小型企业出与这种目的制作了这个人事管理系统。 国内外研究的现状 现今国内外大多注意在大型人事管理系统的开发,在小型人事管理系统却少有开发,但并非所有的公司都实用与大型系统,所以小型系统有开发的必要。 任务与分析 本课题主要的目的是编程实现职工信息管理系统。 系统以菜单方式工作: (包括姓名、编号、性别、年龄、学历、职称、工种等)浏览功能--输出 、修改功能 (任选项 ); (职工信息用文件保存 )--输入; : (至少一种查询方式 ):按姓名查询和按学历查询等。 (要求职工信息存入文件) 2 职工信息管理系统 2 程序的主要功能 添加功能 添加一个职工的基本信息,包括姓名 、编号、性别、年龄、学历、职称、工种。 删除功能 能够对一个职工的信息进行删除。 (按姓名进行删除) 排序功能 能够对于全部职员的信息进行年龄排序。 显示功能 显示所有职工的信息包括姓名 、编号、性别、年龄、学历、职称、工种。 按姓名查询功能 根据你键入的职工姓名,显示其详细信息。 按学历查询功能 根据你键入的职工学历,显示其详细信息。 3 职工信息管理系统 3 程序运行平台 VC++。 具体操作如下:新建 C 语言源程序工程,添加相应的源文件至此源程序,再编译发现是否有错误,有则改之,无则链接成可执行文件,执行次可执行文件。 4 职工信息管理系统 4 总体设计 图 系统总体框架图 主 函 数 添加信息 删除信息 排序信息 姓名查询 显示信息 学历查询 5 职工信息管理系统 5 模块分析 添加模块 系统将提示用户输入新添加的职员的信息,插入在文件中。 void input() /*信息录入函数 */ { FILE *fp。 /*定义文件 */ worker xs。 if((fp=fopen(,ab))==NULL) {printf(can39。 t open file!\n)。 exit(0)。 } /*打开文件,如果不能打开,就关闭所有文件 */ printf(\n 录入格式 姓名 编号 性别 年龄 学历 职称 工种。 当输入姓名为end 结束录入 \n)。 while(1) { scanf(%s,)。 if(strcmp(,end)==0) break。 /*如果输入的是 end,则停止输入 */ scanf(%d%s%d%s%s%s,amp。 ,amp。 ,x)。 fwrite(amp。 xs,sizeof(worker),1,fp)。 /*将信息写入文件 */ } fclose(fp)。 /*关闭文件 */ } 显示模块 显示模块将输出所有职员的主要资料。 void print() /*职工信息浏览函数 */ 6 职工信息管理系统 { FILE *fp。 worker s。 /*定义结构体变量 */ system(cls)。 /*清屏 */ if((fp=fopen(,rb))==NULL) {printf(can39。 t open file!\n)。 exit(0)。 } printf(\n%10s %5s %2s %2s %5s %5s %5s\n,姓名 ,编号 ,性别 ,年龄 ,学历 ,职称 ,工种 )。 while(!feof(fp)) { fread(amp。 s,sizeof(worker),1,fp)。 /*从文件中读取职工信息 */ if(feof(fp)) break。 /*判断是否文件尾 */ printf(%10s %5d %5s %5d %5s %5s %5s\n,ng,)。 } fclose(fp)。 /*关闭文件 */ getch()。 /*停止运行,便于观察结果 */ } 按学历查找模 块 首先由用户输入要修改的职员的 学历 ,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的职员资料。 void seekxueli() /*学历查找函数 */ { 7 职工信息管理系统 worker xs[N]。 /*定义一个结构体一维数组 */ FILE *fp。 char xueli[10]。 int i,k。 system(cls)。 printf(\n请输入要查找的学历 : )。 scanf(%s,xueli)。 i=0。 if((fp=fopen(,r))==NULL) /*为输入打开一个已存在的文本文件*/ {printf(can39。 t open file!\n)。 exit(0)。 } while(!feof(fp)) {fread(amp。 xs[i],sizeof(worker),1,fp)。 /*从文件中读取职工信息 */ if(feof(fp)) break。 /*判断是否文件尾 */ if(strcmp(xs[i].xueli,xueli)==0)/*如果数组中有和输入相同的学历,则找到它在数组中的位置 ,并输出 */ {k=i。 printf(\n%10s %5s %2s %2s %5s %5s %5s\n,姓名 ,编号 ,性别 ,年龄 ,学历 ,职称 ,工种 )。 printf(%10s %5d %5s %5d %5s %5s %5s\n,xs[k].name,xs[k].bianhao,xs[k].sex,xs[k].nianling,xs[k].xueli,xs[k].zhicheng,xs[k].gongzhong)。 } } getch()。 8 职工信息管理系统 } 按姓名查找模块 首先由用户输入要查找的职员姓 名,然后系统用查找函数查找,然后系统就调用输出函数,输出所查找的职员资料。 void seekname() /*姓名查找函数 */ {worker xs[N]。 /*定义一个结构体一维数组 */ FILE *fp。 char name[10]。 int i,k。 system(cls)。 printf(\n请输入要查找的职工姓名 : )。 scanf(%s,name)。 i=0。 if((fp=fopen(,r))==NULL) /*为输入打开一个已存在的文本文件 */ {printf(can39。 t open file!\n)。 exit(0)。 } while(!feof(fp)) {fread(amp。 xs[i],sizeof(worker),1,fp)。 /*从文件中读取职工信息 */ if(feof(fp)) break。 /*判断是否文件尾 */ if(strcmp(xs[i].name,name)==0) k=i。 /*如果数组中有和输入相同的名字,则找到它在数组中的位置 */ } printf(\n%10s %5s %2s %2s %5s %5s %5s\n,姓名 ,编号 ,性别 ,年龄 ,学历 ,职称 ,工种 )。 printf(%10s %5d %5s %5d %5s %5s %5s\n,xs[k].name,xs[k].bianhao,xs[k]. 9 职工信息管理系统 sex,xs[k].nianling,xs[k].xueli,xs[k].zhicheng,xs[k].gongzhong)。 getch()。 /*停止运行,便于观察结果 */ } 删除模块 首先由用户输入要删除的单个职员姓名,然后调用删除函数,删除该名职员的资料,并输出余下的职工信 息。 void dele() /*删除函数 */ {worker xs[N]。 /*定义一个结构体一维数组 */ FILE *fp。 /*定义文件 */ char name[10]。 int i,j,k=0。 system(cls)。 printf(\n请输入要删除的职工姓名 : )。 scanf(%s,name)。 i=0。 if((fp=fopen(,a+))==NULL) /*为读写打开一个文本文件 */ {printf(can39。 t open file!\n)。 exit(0)。 } while(!feof(fp)) {fread(amp。 xs[i],sizeof(worker),1,fp)。 /*从文件中读取职工信息 */ if(feof(fp)) break。 if(strcmp(xs[i].name,name)==0) k=i。 /*如果数组中有和输入相同的名字,则准备执行删除 */ i++。 } 10 职工信息管理系统 fclose(fp)。 /*关闭文件 */ //以下是删除后职工信息 j=i。 if(k=0) {if((fp=fopen(,w+))==NULL) /*为读写建立一个新的文本文件*/ {printf(can39。 t open file!\n)。 exit(0)。 } for(i=0。 ij。 i++) {if(i==k) continue。 /*执行删除功能 */ fwrite(amp。 xs[i],sizeof(worker),1,fp)。 } fclose(fp)。 /*关闭文件 */ } else printf(删除失败 !!!\n)。 print()。 /*嵌套调用职工信息浏览函数 */ } 排序模块 系统将会把所有职员的资料全部按年龄排序并输出。 void paixu() /*排序函数 */ {worker xs[N]。 /*定义一个结构体一维数组 */ worker x。 FILE *fp。 int i,k,j。 system(cls)。 11 职工信息管理系统 i=0。 if((fp=fopen(,a+))==NULL) /*为读写打开一个文本文件 */ {printf(can39。 t open file!\n)。 exit(0)。 } while(!feof(fp)) {fread(amp。 xs[i],sizeof(worker),1,fp)。 /*从文件中读取职工信息 */ if(feof(fp)) break。 i++。 } fclose(fp)。 k=i。 for(i=0。 i=k1。 i++) for(j=0。 jki1。 j++) {if(xs[j].nianlingxs[j+1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。