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

下载本文档

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

文档简介

华北科技学院(技能训练类(一)报告)(20112012学年第2学期)训练地点: 信息楼基础五 指导教师: 专业班级: 学生姓名: 学 号: 2012年3月9日目 录 一、训练项目2二、训练目的2三、设计分析2四、设计方案2五、实训详细设计3六、使用说明4七、运行调试4八、训练心得4九、参考文献4一、训练项目 职工档案管理系统设计系统可实现以下功能:1、输入功能:输入每一位职工记录,将其信息存入文件中。2、显示功能:完成全部职工记录的显示。3、查找功能:完成按编号或姓名查找职工的相关记录,并显示。二、训练目的通过本次训练,能够进一步巩固、掌握程序设计基础和数据结构课程的基本知识、基本技能。运用算法分析与程序设计的一般方法进行实际项目的开发。本项目需要具备熟练的数组和线性表知识,具备程序编写、调试的基本能力,具有一定的文字表达和报告撰写能力,具备办公软件使用能力。三、设计分析菜单开始根据菜单输入n的值选择程序保存结束是否继续进行 NY YY5添加职工信息4修改职工信息2浏览职工信息3查询职工信息6退出1录入职工信息四、设计方案职工档案管理系统 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每位职工的信息写入文件中并能显示于屏幕上。3、完成上述查找(编号,姓名,性别等)、修改等功能。数据结构定义:struct worker int Num;char Name15;char Sex4;char Birth20;char Addr50;char Depart30;char Zhicheng10;int Gongzi;char Phone15;work100;五、详细设计源程序代码如下:#include #include #include #define N 100struct worker int Num;char Name15;char Sex4;char Birth20;char Addr50;char Depart30;char Zhicheng10;int Gongzi;char Phone15;work100; /定义一个结构体void menu();/菜单函数void input();/输入函数void save(int);/保存函数void display();/浏览函数void add();/添加函数void search();/查找函数void modify(); /修改函数void main() int n,flag; char a; menu(); do printf(请选择你需要操作的步骤(1-7):n); scanf(%d,&n); if(n=1&n=7) flag=1; break; else flag=0; printf(您输入有误,请重新选择!); while(flag=0);system(cls); while(flag=1) switch(n) case 1:printf( 欢迎录入职工信息n);printf(n);input();break; case 2:printf( 欢迎浏览职工信息n);printf(n);display();break; case 3:printf( 欢迎查询职工信息n);printf(n);search();break; case 5:printf( 欢迎添加职工信息n);printf(n);add();break; case 4:printf( 欢迎修改职工信息n);printf(n);modify();break; case 6:exit(0);break; default :break; getchar(); printf(n); printf(是否继续进行(y or n):n); scanf(%c,&a); if(a=y) flag=1; system(cls); /清屏 menu(); /调用菜单函数 printf(请再次选择你需要操作的步骤(1-7):n); scanf(%d,&n); printf(n); else exit(0); void menu() /菜单函数 printf(n);printf(n);printf(n);printf( *欢迎进入职工档案管理系统*n);printf(n);printf( 1.录入职工信息n);printf( 2.浏览职工信息n);printf( 3.查询职工信息n);printf( 4.修改职工信息n);printf( 5.添加职工信息n);printf( 6.退出n);printf(n);printf( *谢谢使用*n);printf(n); void input() /录入函数 int i,m;printf(请输入要创建信息的职工人数(1-100):);scanf(%d,&m);printf(n);printf(请输入职工的信息:n);for(i=0;im;i+)printf(请输入职工的编号:);fflush(stdin);scanf(%d,&worki.Num);printf(请输入职工的姓名:);fflush(stdin);scanf(%s,&worki.Name);printf(请输入职工的性别:);fflush(stdin);scanf(%s,&worki.Sex);printf(请输入职工的出生年月:);fflush(stdin);scanf(%s,&worki.Birth);printf(请输入职工的住址:);fflush(stdin);scanf(%s,worki.Addr);printf(请输入职工的所在部门:);fflush(stdin);scanf(%s,worki.Depart);printf(请输入职工的职称:);fflush(stdin);scanf(%s,worki.Zhicheng);printf(请输入职工的工资级别:);fflush(stdin);scanf(%d,&worki.Gongzi);printf(请输入职工的电话:);fflush(stdin);scanf(%s,&worki.Phone);system(cls);printf(文件创建完毕!n);save(m);void save(int m) /保存文件 int i; FILE*fp; if (fp=fopen(职工档案.txt,wb)=NULL) printf (文件打开失败n); exit(0); for (i=0;im;i+) /将内存中职工的信息输出到磁盘文件中去 if (fwrite(&worki,sizeof(struct worker),1,fp)!=1) printf(file write errorn); fclose(fp);int load() /导入函数 FILE*fp; int i=0; if(fp=fopen(职工档案.txt,rb)=NULL) printf (文件打开失败n); exit(0); else do fread(&worki,sizeof(struct worker),1,fp); i+; while(feof(fp)=0); fclose(fp); return(i-1);void display() /浏览函数 int i;int m=load();printf(编号 姓名 性别 出生年月 住址 所在部门 职称 工资级别 电话 tn);for(i=0;im;i+)/m为输入的职工人数printf(%d %s %s %s %s %s %s %d %s n,worki.Num,worki.Name,worki.Sex,worki.Birth,worki.Addr,worki.Depart,worki.Zhicheng,worki.Gongzi,worki.Phone);void add()/添加函数 FILE*fp; int n; int count=0; int i; int m=load(); printf(n 原来的职工信息:n); display(); printf(n); fp=fopen(emploee_list,a); printf(请输入想增加的职工数:n); scanf(%d,&n); for (i=m;i(m+n);i+) printf(n 请输入新增加职工的信息:n); printf(请输入职工的编号:);scanf(%d,&worki.Num);printf(请输入职工的姓名:);scanf(%s,&worki.Name);printf(请输入职工的性别:);scanf(%s,&worki.Sex);printf(请输入职工的出生年月:);scanf(%s,&worki.Birth);printf(请输入职工的住址:);scanf(%s,worki.Addr);printf(请输入职工的所在部门:);scanf(%s,worki.Depart);printf(请输入职工的职称:);scanf(%s,worki.Zhicheng);printf(请输入职工的工资级别:);scanf(%d,&worki.Gongzi);printf(请输入职工的电话:);scanf(%s,&worki.Phone);system(cls); count=count+1; printf(已增加的人数:%dn,count); printf(%dn,count); printf(n添加完毕!n); m=m+count; printf(n浏览增加后的所有职工信息:n); printf(n); save(m); display(); fclose(fp);void search()/查询函数 int num; int i,t; int m=load(); printf(请输入要查找的职工号:n); scanf(%d,&num); for(i=0;im;i+) if(num=worki.Num) printf(n已找到此人,其记录为:n); printf(编号 姓名 性别 出生年月 住址 所在部门 职称 工资级别 电话 tn);printf(%d %s %s %s %s %s %s %d %s n,worki.Num,worki.Name,worki.Sex,worki.Birth,worki.Addr,worki.Depart,worki.Zhicheng,worki.Gongzi,worki.Phone);break; if(i=m) printf(n对不起,查无此人n); printf(n); printf(返回主菜单请按1,继续查询职工号请按2n); scanf(%d,&t); switch(t) case 1:search();break; case 2: break; default:break; void modify() /修改函数int Num;char Name15;char Sex4;char Birth20;char Addr50;char Depart30;char Zhicheng10;int Gongzi;char Phone15; int b,c,i,n,t,flag; int m=load(); printf(n 原来的职工信息:n); display(); printf(n); printf(请输入要修改的职工编号:n); scanf(%d,&Num); for(flag=1,i=0;flag&i9|c1) printf(n选择错误,请重新选择!n); flag=0; if(flag=1) printf(n对不起,查无此人!n); do switch(c) /因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的信息赋值给第i-1个人 case 1:printf(职工的编号改为: ); scanf(%d,&Num); worki-1.Num=Num; break; case 2:printf(姓名改为: ); scanf(%s,Name); strcpy(worki-1.Name,Name); break; case 3:printf(性别改为: ); getchar(); scanf(%s,&Sex); strcpy(worki-1.Sex,Sex); break; case 4:printf(出生年月改为: ); scanf(%s,&Birth); strcpy(worki-1.Birth,Birth); break; case 5:printf(住址改为: ); scanf(%s,Addr); strcpy(worki-1.Addr,Addr); break; case 6:printf(所在部门改为: ); scanf(%s,Depart); break; case 7:printf(住址改为: ); scanf(%s,Zhicheng); strcpy(worki-1.Zhicheng,Zhicheng); break; case 8:printf(工资级别改为: ); scanf(%d,&Gongzi); worki-1.Gongzi=Gongzi; break; case 9:printf(电话改为: ); scanf(%s,Phone); strcpy(worki-1.Phone,Phone); printf(n); printf(n是否确定所修改的信息?n 是 请按1 ; 不,重新修改 请按2: n); scanf(%d,&b); while(b=2); printf(n浏览修改后的所有职工信息:n); printf(n); save(m); display(); printf(n继续修改请

温馨提示

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

评论

0/150

提交评论