职工档案管理系统实验报告

上传人:仙*** 文档编号:31916253 上传时间:2021-10-13 格式:DOC 页数:18 大小:294.50KB
收藏 版权申诉 举报 下载
职工档案管理系统实验报告_第1页
第1页 / 共18页
职工档案管理系统实验报告_第2页
第2页 / 共18页
职工档案管理系统实验报告_第3页
第3页 / 共18页
资源描述:

《职工档案管理系统实验报告》由会员分享,可在线阅读,更多相关《职工档案管理系统实验报告(18页珍藏版)》请在装配图网上搜索。

1、江 西 农 业 大 学 职工档案管理系统实验报告一、 实验目的1、加深对讲授内容的理解2、通过设计,熟练上机调试程序3、C语言综合程序设计能力的提高二、实验题目与相关说明题目:职工档案管理系统设计功能:职工档案管理系统设计,每个职工是一条记录,包括编号,姓名,性别,出生年月,所在部门,职称,工资级别、电话等。系统可实现以下功能:1、输入功能:输入每一位职工记录,将其信息存入文件中。2、显示功能:完成全部职工记录的显示。3、查找功能:完成按编号或姓名查找职工的相关记录,并显示。分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。2、建立一个文件,将每位职工的信息写入文件中

2、并能显示于屏幕上。3、完成上述查找(编号,姓名,性别等)、修改等功能。4、进一步要求,修改记录设置密码操作。要求:1、用C语言实现程序设计;2、利用结构体数组实现职工信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。三、程序功能简介该系统主要用于管理职工的个人信息,它具有存储、添加、查询、修改、删除、浏览等功能。其中修改信息需要权限密码,在程序中我已将初始密码设为“1828”。但我只是完成了初始密码的设置,修改密码及其它有关密码的程序设计还没有完成。另外,我将查找功能分为“姓名查找”和“工号查找”,这样可使得查找的成功率增加。 下

3、面,就给出该系统源代码。四、程序源码(带注释)#include#includestruct staffchar name8;char num10;char sex10;char bir15;char dep10;char pos10;char wage10;char tel15;char addr50;worker; /*定义一个结构体*/char filename20=123456; /*文件名*/FILE *fp; void creat(); /*定义一个创建函数*/void browse(); /*定义一个输出信息的函数*/void search1(); /*定义一个查询的函数*/voi

4、d search2(); /*定义一个查询的函数*/ void append(); /*定义一个添加函数*/void modify(); /*定义一个修改函数*/void delete(); /*定义一个删除函数*/void main() /*主函数*/int m;system(color 0a);a:while(1)printf( nt* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n);printf( t*t * 职工档案管理系统 * *n);printf( t*t * * *n);printf( t*t *

5、 * * * * * * * * * * * * * * * * * * * * *n);printf( t*t * 1.存入档案 * *n);printf( t*t * * *n);printf( t*t * 2.添加信息 * *n);printf( t*t * * *n);printf( t*t * 3.查询职工信息(姓名) * *n);printf( t*t * * *n);printf( t*t * 4. 查询职工信息(工号) * *n);printf( t*t * * *n);printf( t*t * 5.修改信息(需要权限密码) * *n);printf( t*t * * *n)

6、;printf( t*t * 6.删除信息 * *n);printf( t*t * * *n);printf( t*t * 7.浏览信息 * *n);printf( t*t * * *n);printf( t*t * 8.退出系统 * *n);printf( t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); /*输出提示信息*/printf(选择功能(1-8): bb); scanf(%d,&m);if(m=1 & m=8 & m!=5)switch(m)case 1: creat();break;cas

7、e 2: append();break;case 3: search1();break;case 4: search2();break;case 6: delete();break;case 7: browse();break;case 8: exit();printf(nn操作完毕,请再次选择!);goto a; if(m=5) int i; printf(请输入密码 (初始密码为1828):) ; scanf(%d,&i); while(i != 1828) /初始密码为1828 printf(密码错误,请重输 : ) ; scanf(%d,&i); printf(Congratulati

8、ons!); printf(n) ;modify( );printf(nn操作完毕,请再次选择!);elseprintf(nn选择错误,请再次选择!);void creat()struct staff one;if(fp=fopen(filename,w)=NULL) /*打开文件,实现向文件输入数据*/printf(n不能建立!);exit();fprintf(fp,%-10s%-10s%-10s%-18s%-10sn%-10s%-10s%-18s%-15sn,姓名,工号,性别,出生年月,所在部门,职位,工资,电话号码,住址);printf(n请输入职工信息(以0结束)n);printf(姓

9、名:n);scanf(%s,one.name);while(strcmp(one.name,0)printf(工号:n);scanf(%s,one.num);printf(性别:n);scanf(%s,one.sex);printf(出生年月:n);scanf(%s,one.bir);printf(所在部门:n);scanf(%s,one.dep);printf(职位:n);scanf(%s,one.pos);printf(工资:n);scanf(%s,one.wage);printf(电话:n);scanf(%s,one.tel);printf(住址:n);scanf(%s,one.addr

10、); /*输出职工的相关信息*/fprintf(fp,%-10s%-10s%-10s%-18s%-10sn%-10s%-10s%-18s%-15sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);printf(姓名:n);scanf(%s,one.name);fclose(fp); /*关闭文件*/void browse() /*输出函数*/struct staff one;if(fp=fopen(filename,r)=NULL) /*打开文件*/printf(n不能打开该文件!);ex

11、it();printf(nn%20sn,ttt职工个人信息);/*向文件输入数据*/while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);printf(%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);fclose

12、(fp);/*关闭文件*/void append() /*添加函数*/struct staff one;if(fp=fopen(filename,a)=NULL) /*打开文件*/printf(n不能打开该文件!);exit();printf(n请输入要添加的职工信息,各项之间以回车隔开.n(姓名 工号 性别 出生年月 所在部门 职位 工资 电话 地址)n);/*向文件中输入数据*/scanf(%s%s%s%s%s%s%s%s%s,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);fprint

13、f(fp,%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);fclose(fp); /*关闭文件*/void search1() /*查询函数*/int k=0;char namekey8;struct staff one;printf(n请输入您要查找的职工姓名:);scanf(%s,namekey);if(fp=fopen(filename,rb)=NULL) /*打开文件*/printf(n不

14、能打开文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);if(!strcmp(namekey,one.name)printf(nn已查到,记录为:);printf(n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one

15、.tel,one.addr);k=1;if(!k)printf(nn对不起,查无此人!。);fclose(fp);void search2() /*查询函数*/int k=0;char numkey8;struct staff one;printf(n请输入您要查找的职工姓工号:);scanf(%s,numkey);if(fp=fopen(filename,rb)=NULL) /*打开文件*/printf(n不能打开文件!);exit();while(!feof(fp)fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.sex,one.bir,

16、one.dep,one.pos,one.wage,one.tel,one.addr);if(!strcmp(numkey,one.num)printf(nn已查到,记录为:);printf(n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);k=1;if(!k)printf(nn对不起,查无此人!。);fclose(fp);void modify() /*修改函数*/int m,k=0;long o

17、ffset;char namekey8;struct staff one;printf(n请输入您要修改的职工的姓名:);scanf(%s,namekey);if(fp=fopen(filename,r+)=NULL) /*打开文件*/printf(n不能打开该文件!);exit();while(!feof(fp)offset=ftell(fp); /*查找信息*/fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);if(!strcmp

18、(namekey,one.name)k=1;break;if(k)printf(n已查到,记录为:);printf(n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);printf(n请输入信息,各项之间以回车隔开.n(姓名、工号、性别、出生年月、所在部门、职位、工资、电话、地址):n);scanf(%s%s%s%s%s%s%s%s%s,one.name,one.num,one.sex,one.bi

19、r,one.dep,one.pos,one.wage,one.tel,one.addr);fseek(fp,offset,SEEK_SET);printf(%ld,ftell(fp);fprintf(fp,%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);elseprintf(n对不起,查无此人,无法进行修改。);fclose(fp); /*文件关闭*/void delete() /*删除函数*/i

20、nt m,k=0,flag;long offset1,offset2;char namekey8, valid4;struct staff one;printf(n请输入您要删除的职工姓名:);scanf(%s,namekey);if(fp=fopen(filename,r+)=NULL) /*打开文件*/printf(n不能打开该文件!);exit();while(!feof(fp)offset1=ftell(fp); /*查询文件中相关的信息*/fscanf(fp,%s%s%s%s%s%s%s%s%sn,one.name,one.num,one.sex,one.bir,one.dep,on

21、e.pos,one.wage,one.tel,one.addr);if(!strcmp(namekey,one.name)k=1;break;if(k)printf(n已查到,记录为);printf(n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn,one.name,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);printf(n确实要删除,按1;不删除,按0:);scanf(%d,&m);if(m)fseek(fp,offset1,SEEK_SET);fpri

22、ntf(fp,%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn,);elseprintf(n对不起,查无此人。);fclose(fp); /*关闭文件*/五、程序测试说明:检测程序是否运行正常,并浏览系统界面。六、系统各功能测试1、存入档案说明:输入“甲、1、男、1970.1.23、宣传部、部长、1600元/月、13812345678、江西省南昌市”、“乙、2、女、1960.2.22、财务部、部长、1600元/月、13800001234”。注:输入职工信息时,以输入姓名“0”结束。2、添加信息说明:输入“丙、3、男、1973.3.13、科技部、部长

23、、2300元/月、13811112222、江西省南昌市”。3、查询职工信息(姓名)说明:输入要查找的职工姓名为“甲”。4、查询职工信息(工号)说明:输入要查找的职工工号为“1”。5、修改信息(需要权限密码)说明:将甲信息中的电话号码修改为“15007005830”。6、删除信息说明:删除乙的个人信息。7、浏览信息8、退出系统说明:若所有操作完成,可在主菜单中输入“8”退出系统。七、实验心得 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过随着实验的胜利成功与实验报告的顺利完成,有点微微的自豪感使人难忘。感谢邓松老师的高标准、严要求,感谢实验课上邓老师的耐心指点,也感谢我在实验中经历过的点点滴滴伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言,我会更加努力。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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