职工档案管理系统实验报告_第1页
职工档案管理系统实验报告_第2页
职工档案管理系统实验报告_第3页
职工档案管理系统实验报告_第4页
职工档案管理系统实验报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、,就给出该系统源代码。四、程序源码(带注释)#include<stdio.h>#include<stdlib.h>struct 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(); /*定义一个

4、输出信息的函数*/void search1(); /*定义一个查询的函数*/void search2(); /*定义一个查询的函数*/ void append(); /*定义一个添加函数*/void modify(); /*定义一个修改函数*/void delete(); /*定义一个删除函数*/void main() /*主函数*/int m;system("color 0a");a:while(1)printf(" nt* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n"

5、;);printf(" t*t * 职工档案管理系统 * *n");printf(" t*t * * *n");printf(" t*t * * * * * * * * * * * * * * * * * * * * * *n");printf(" t*t * 1.存入档案 * *n");printf(" t*t * * *n");printf(" t*t * 2.添加信息 * *n");printf(" t*t * * *n");printf("

6、; 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");printf(" t*t * 6.删除信息 * *n");printf(" t*t * * *n");printf(

7、" 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 &am

8、p;& m!=5)switch(m)case 1: creat();break;case 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",&

9、i); while(i != 1828) /初始密码为1828 printf("密码错误,请重输 : ") ; scanf("%d",&i); printf("Congratulations!"); printf("n") ;modify( );printf("nn操作完毕,请再次选择!");elseprintf("nn选择错误,请再次选择!");void creat()struct staff one;if(fp=fopen(filename,"w&quo

10、t;)=NULL) /*打开文件,实现向文件输入数据*/printf("n不能建立!");exit();fprintf(fp,"%-10s%-10s%-10s%-18s%-10sn%-10s%-10s%-18s%-15sn","姓名","工号","性别","出生年月","所在部门","职位","工资"," 号码","住址");printf("n请输入职工信息(以0结束

11、)n");printf("姓名:n");scanf("%s",);while(strcmp(,"0")printf("工号:n");scanf("%s",one.num);printf("性别:n");scanf("%s",one.sex);printf("出生年月:n");scanf("%s",one.bir);printf("所在部门:n");scan

12、f("%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); /*输出职工的相关信息*/fprintf(fp,"%-10s%-10s%-10s%-18s%-

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

14、;);exit();printf("nn%20sn","ttt职工个人信息");/*向文件输入数据*/while(!feof(fp)fscanf(fp,"%s%s%s%s%s%s%s%s%sn",,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.num,one.sex,one.

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

16、s%s%s%s%s",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);fprintf(fp,"%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);fclose(fp); /*关闭文件*/void search1() /*查询函数*/int k=0;char namek

17、ey8;struct staff one;printf("n请输入您要查找的职工姓名:");scanf("%s",namekey);if(fp=fopen(filename,"rb")=NULL) /*打开文件*/printf("n不能打开文件!");exit();while(!feof(fp)fscanf(fp,"%s%s%s%s%s%s%s%s%sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.

18、addr);if(!strcmp(namekey,)printf("nn已查到,记录为:");printf("n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,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 search2() /*查询函数*/int k=0;char n

19、umkey8;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.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,o

20、ne.addr);if(!strcmp(numkey,one.num)printf("nn已查到,记录为:");printf("n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,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

21、 offset;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.num,one.sex

22、,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);if(!strcmp(namekey,)k=1;break;if(k)printf("n已查到,记录为:");printf("n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);printf("n请输入信息,各项之间以回车隔开.n

23、(姓名、工号、性别、出生年月、所在部门、职位、工资、 、地址):n");scanf("%s%s%s%s%s%s%s%s%s",,one.num,one.sex,one.bir,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.num

24、,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);elseprintf("n对不起,查无此人,无法进行修改。");fclose(fp); /*文件关闭*/void delete() /*删除函数*/int m,k=0,flag;long offset1,offset2;char namekey8, valid4;struct staff one;printf("n请输入您要删除的职工姓名:");scanf("%s",namekey);if(fp=fopen(file

25、name,"r+")=NULL) /*打开文件*/printf("n不能打开该文件!");exit();while(!feof(fp)offset1=ftell(fp); /*查询文件中相关的信息*/fscanf(fp,"%s%s%s%s%s%s%s%s%sn",,one.num,one.sex,one.bir,one.dep,one.pos,one.wage,one.tel,one.addr);if(!strcmp(namekey,)k=1;break;if(k)printf("n已查到,记

26、录为");printf("n%-10s%-10s%-10s%-20s%-10sn%-10s%-10s%-20s%-15sn",,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);fprintf(fp,"%-10s%-10s%-10s%-20s%-10sn%-10

27、s%-10s%-20s%-15sn","","","","","","","","","");elseprintf("n对不起,查无此人。");fclose(fp); /*关闭文件*/五、程序测试说明:检测程序是否运行正常,并浏览系统界面。六、系统各功能测试1、存入档案说明:输入“甲、1、男、1970.1.23、宣传部、部长、1600元/月江西省南昌市”、“乙、

28、2、女、1960.2.22、财务部、部长、1600元/月。注:输入职工信息时,以输入姓名“0”结束。2、添加信息说明:输入“丙、3、男、1973.3.13、科技部、部长、2300元/月江西省南昌市”。3、查询职工信息(姓名)说明:输入要查找的职工姓名为“甲”。4、查询职工信息(工号)说明:输入要查找的职工工号为“1”。5、修改信息(需要权限密码)说明:将甲信息中的 号码修改为。6、删除信息说明:删除乙的个人信息。7、浏览信息8、退出系统说明:若所有操作完成,可在主菜单中输入“8”退出系统。七、实验心得 通过本次C语言

29、上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过随着实验的胜利成功与实验报告的顺利完成,有点微微的自豪感使人难忘。感谢邓松老师的高标准、严要求,感谢实验课上邓老师的耐心指点,也感谢我在实验中经历过的点点滴滴伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言,我会更加努力。 小学教师培养工作总结 一年来,我校在上级部门的指导下,积极开展教师教育教学能力的提高培训工作,有效提高了教师的各种教育教学实际能力,为我校取得良好的办学成效起了重要的作用。回顾我们的工作,主要有下面几点做法和体会:一、制定计划,常抓不懈这一学年虽然新来教师不多只有汤毛毛一位老师,但是我们还是很重视对她的成长。为了使她能尽快进入教师角色,更好地促进她的专业成长,我校采取了以下措施:1、以老带新,促其成长。每一位新教师到我校后,学校都会指派一位有经验的老教师来带,目的是通过一对一

温馨提示

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

评论

0/150

提交评论