职工信息管理系统—C课设.doc_第1页
职工信息管理系统—C课设.doc_第2页
职工信息管理系统—C课设.doc_第3页
职工信息管理系统—C课设.doc_第4页
职工信息管理系统—C课设.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

#include #include #include #include int N=0;struct dateint year;int month;int day;struct workerint num;char name10;char sex2;struct date bir;char edu6;char sta10;char bra10;long wage;char addr50;char tel11;struct worker worker100,worker1;void menu();void zi_menu();void xuanze();void key();void file();void xiugai_xuanze();void xiugai_name();void del_xuanze();void xiugai_num();void del_name();void del_num();void liulan();void search();void search_num();void search_edu();void search_tel();void paixu();void paixu_num();void paixu_age();void paixu_wage();void save();void diao();void main()menu();void menu() /*主菜单*/ system(color A);char s20; int a,M=1314,n=3,flag=0;printf( * 计算机科学与工程学院 *n);printf( 欢迎进入职工信息管理系统 n);printf( *n);printf( * 职工信息管理系统 *n);printf( *- 组长 XXX -*n);printf( * 组员:XX XXX *n);printf( *n);printf( *- 小组分工 -*n);printf( *n);printf( * X X: 数据录入、修改与删 *n);printf( * X X: 文件读取与写入操作,及信息查询*n);printf( * XXX: 排序与浏览 *n);printf( *谢谢使用n); do printf(请输入您的帐号:); scanf(%s,s); printf(请你输入密码:n); scanf(%d,&a); if(a=M) printf(恭喜你成功登陆了nnn); flag=1; break; else printf(输入有错误请重新输入:n); n-; while(n0); if(flag=0)printf(你的输入次数已到再见!);exit(1);zi_menu();void zi_menu() /*选择你所需要的服务*/int a;printf( 333333333333333333333请选择您所需要的操作333333333333333333333333n);printf( 33333333333333333333333333333333333333333333333333333333333333333n);printf( 333333 1.录入职工信息 2.修改职工信息 3333333n);printf( 333333 3.删除职工信息 4.浏览职工信息 3333333n);printf( 333333 5.查询职工信息 6.排序职工信息 3333333n);printf( 333333 7.退出 3333333n);printf( 33333333333333333333333333333333333333333333333333333333333333333n);printf(您想查询哪一个内容呢?1-7n);scanf(%d,&a);if(1=a&a=7)switch(a)case 1: xuanze(); break; case 2: xiugai_xuanze(); break; case 3: del_xuanze(); break; case 4: liulan(); break; case 5: search(); break; case 6: paixu(); break; case 7: break; default:printf(请输入正确的数字:);void xuanze()int a;printf(*n);printf(* 1.从键盘读取 2.从文件中读取 *n);printf(*n);scanf(%d,&a);if(a=1)key();if(a=2)file();void file() /*文件中读取*/ FILE *p;if(p=fopen(d:职工2.txt,r)=NULL)printf(can not open filen);exit(1);for(int i=0;iN+6;i+)fscanf(p,%d%s%s%d%d%d%s%s%s%ld%s%sn, &workeri.num,,workeri.sex,&workeri.bir.year,&workeri.bir.month,&workeri.bir.day,,workeri.sta,workeri.bra,&workeri.wage,workeri.addr,workeri.tel);printf(%dt%st%st%dt%dt%dt%st%st%st%ldt%st%sn,workeri.num,,workeri.sex, workeri.bir.year,workeri.bir.month,workeri.bir.day,, workeri.sta,workeri.bra,workeri.wage,workeri.addr,workeri.tel);fclose(p);zi_menu();void key() /*键盘录入函数*/ int i; FILE *fp; printf(请输入需要创建信息的职工人数(1-100):n); scanf(%d,&N); for (i=0;iN;i+) printf(请输入职工号: ); scanf(%d,&workeri.num); printf(n); printf(请输入姓名: ); scanf(%s,); getchar(); printf(请输入性别(女 男): ); scanf(%s,&workeri.sex); printf(请输入生日: ); scanf(%d%d%d,&workeri.bir.year,&workeri.bir.month,&workeri.bir.day); printf(请输入学历: ); scanf(%s,); printf(请输入职位: ); scanf(%s,&workeri.sta); printf(请输入部门: ); scanf(%s,&workeri.bra); printf(请输入工资: ); scanf(%ld,&workeri.wage); printf(请输入住址: ); scanf(%s,workeri.addr); printf(请输入电话: ); scanf(%s,workeri.tel); printf(n); printf(n创建完毕!n);if(fp=fopen(d:职工2.txt,a+)=NULL) printf(n cannot open file press any key exit!); getchar(); exit(1); char strInput512; for (i=0;iN;i+) /*将内存中职工的信息输出到磁盘文件中去*/ memset(strInput,0,sizeof(strInput); sprintf(strInput,%d %s %s %d %d %d %s %s %s %ld %s %sn, workeri.num,,workeri.sex,workeri.bir.year,workeri.bir.month,workeri.bir.day, ,workeri.sta,workeri.bra,workeri.wage,workeri.addr,workeri.tel); int len = 0; for (len = 0; len512; len+) if (strInputlen = 0) break; if (fwrite(strInput,len,1,fp)!=1) printf(file write errorn); fclose(fp); zi_menu();void xiugai_xuanze()int a;printf(请输入你想按哪种方法定位职工?);printf(1 姓名 2职工号);scanf(%d,&a);switch(a) case 1:xiugai_name(); break;case 2:xiugai_num(); break;default: break;void xiugai_name()diao();char name10;int i,a,j,b;printf(请问你想修改几位员工的信息?);scanf(%d,&a);for(j=0;ja;j+) printf(请输入你所想修改的员工的姓名:); scanf(%s,name); for(i=0;iN+6;i+) if(strcmp(,name)=0) printf(请输入职工号: ); scanf(%d,&workeri.num); printf(n); printf(请输入姓名: ); scanf(%s,); getchar(); printf(请输入性别(女 男): ); scanf(%s,&workeri.sex); printf(请输入生日: ); scanf(%d%d%d,&workeri.bir.year,&workeri.bir.month,&workeri.bir.day); printf(请输入学历: ); scanf(%s,); printf(请输入职位: ); scanf(%s,&workeri.sta); printf(请输入部门: ); scanf(%s,&workeri.bra); printf(请输入工资: ); scanf(%ld,&workeri.wage); printf(请输入住址: ); scanf(%s,workeri.addr); printf(请输入电话: ); scanf(%s,workeri.tel); printf(n);printf(%dt%st%st%dt%dt%dt%st%st%st%ldt%st%sn,workeri.num,,workeri.sex, workeri.bir.year,workeri.bir.month,workeri.bir.day,, workeri.sta,workeri.bra,workeri.wage,workeri.addr,workeri.tel); save();printf(请输入您接下来想要进行的操作:【1 返回主菜单】 【2 继续修改资料】);scanf(%d,&b);switch(b) case 1:zi_menu(); break; case 2:xiugai_xuanze(); break; default:break;void xiugai_num() diao();int i,num,a,j,b;printf(请问你想修改几位员工的信息?);scanf(%d,&a);for(j=0;ja;j+) printf(请输入你所想修改的员工的职工号:); scanf(%d,&num); for(i=0;iN+6;i+) if(workeri.num=num) printf(请输入职工号: ); scanf(%d,&workeri.num); printf(n); printf(请输入姓名: ); scanf(%s,); getchar(); printf(请输入性别(女 男): ); scanf(%s,&workeri.sex); printf(请输入生日: ); scanf(%d%d%d,&workeri.bir.year,&workeri.bir.month,&workeri.bir.day); printf(请输入学历: ); scanf(%s,); printf(请输入职位: ); scanf(%s,&workeri.sta); printf(请输入部门: ); scanf(%s,&workeri.bra); printf(请输入工资: ); scanf(%ld,&workeri.wage); printf(请输入住址: ); scanf(%s,workeri.addr); printf(请输入电话: ); scanf(%s,workeri.tel); printf(n); printf(%dt%st%st%dt%dt%dt%st%st%st%ldt%st%sn,workeri.num,,workeri.sex, workeri.bir.year,workeri.bir.month,workeri.bir.day,, workeri.sta,workeri.bra,workeri.wage,workeri.addr,workeri.tel); save();printf(请输入您接下来想要进行的操作:【1 返回主菜单】 【2 继续修改资料】);scanf(%d,&b);switch(b) case 1:zi_menu(); break; case 2:xiugai_xuanze(); break; default:break;void del_xuanze() /*选择如何删除函数*/int a;printf(请选择你想按那种方法删除员工信息?);printf(1 姓名 2 职工号);scanf(%d,&a);switch(a) case 1:del_name(); break; case 2:del_num(); break; default:break;void del_name() /*按职工姓名删除函数*/diao();char name20= 0;int a,i,j,b,k;printf(请问你想要删除几位员工的信息?);scanf(%d,&b);for(k=0;kb;k+) printf(请输入您想要删除的职工的姓名:); scanf(%s,name); for(i=0;iN+6;i+) if(strcmp(,name)=0) for(j=i;jN+6-k;j+) workerj=workerj+1; N-;save();liulan();printf(你想要继续删除职工信息还是返回主菜单?);printf(【1 继续删除员工信息】 【2 返回主菜单】);scanf(%d,&a);switch(a) case 1:del_xuanze(); break; case 2:zi_menu(); break; default:break;save();void del_num() /*按职工号删除函数*/diao();long num;int a,i,b,j,k;printf(请问你想要删除几位员工的信息?);scanf(%d,&b);for(k=0;kb;k+) printf(请输入您想要删除的职工的职工号:); scanf(%d,&num); for(i=0;iN+6;i+) if(num=workeri.num) for(j=i;jN-k;j+) workerj=workerj+1; N-;save();liulan();printf(你想要继续删除职工信息还是返回主菜单?);printf(【1 继续删除员工信息】 【2 返回主菜单】);scanf(%d,&a);switch(a) case 1:del_xuanze(); break; case 2:zi_menu(); break; default:break;void liulan() /*浏览*/ int a;FILE *p;if(p=fopen(d:职工2.txt,r)=NULL)printf(can not open filen);exit(1); printf(n职工号t姓名t性别t出生年月tt学历t职务t部门t工资t住址t电话 n); for(int i=0;i=1&t=4) flag=1; break; else flag=0; printf(您输入有误,请重新选择!); while(flag=0); while(flag=1) switch(t) case 1:printf(按职工号查询n);search_num();break; case 2:printf(按学历查询n);search_edu();break; case 3:printf(按电话号码查询n);search_tel();break; case 4:main();break; default:break; void search_num()diao(); int num; int i,t; printf(请输入要查找的职工号(00001-32767):n); scanf(%d,&num); printf(n已找到此人,其记录为:n); printf(n职工号t姓名t性别t出生年月tt学历t职务t部门t工资t住址t电话 n); for(i=0;i=N+6) printf(n对不起,查无此人n); printf(n); printf(【1 返回主菜单】【2 返回继续查询函数】n); scanf(%d,&t); switch(t) case 1:zi_menu(); break; case 2:search(); break; default:break; void search_edu()diao(); char edu6; int i,t; printf(请输入要查找的学历:n); scanf(%s,edu); printf(n已找到,其记录为:n); printf(n职工号t姓名t性别t出生年月tt学历t职务t部门t工资t住址t电话 n); for(i=0;iN+6) printf(n对不起,查无此人n); printf(n); printf(【1 返回主菜单】【2 返回继续查询函数】n); scanf(%d,&t); switch(t) case 1:zi_menu(); break; case 2:search(); break; default :break; void search_tel()diao(); char tel11; int i, t; printf(请输入要查找的电话号码:n); scanf(%s,&tel); printf(n已找到此人,其记录为:n); printf(n职工号t姓名t性别t出生年月tt学历t职务t部门t工资t住址t电话 n); for(i=0;i=N+6) printf(n对不起,查无此人n); printf(n); printf(【1 返回主菜单】【2 返回继续查询函数】n); scanf(%d,&t); switch(t) case 1:zi_menu(); break; case 2:search(); break; default:break; /*职工排序 */void paixu()int k;void paixu_wage();void paixu_age();printf(【1 工资排序】【2 职工号排序】【3 返回界面】n);scanf(%d,&k);switch(k)case 1: paixu_wage();break;case 2: paixu_num();break;case 3: break;/*按工资排序*/void paixu_wage()diao(); int i,j; for(j=0;jN+6;j+)for(i=j+1;iworkerj.wage) worker1=workerj;workerj=workeri;workeri=worker1;save();liulan();zi_menu(); /*按职工号排序(插入法)*/void paixu_num()diao();int i,j;if(worker0.numworker1.num) worker1=worker0; worker0=worker1; worker1=worker1;for(i=0,j=2;jN+6;i+,j+)for(i=0;iworker0.num) worker1=worker0; worker0=workerj; workerj=worker1; if(workerj.numworkeri+1.num&workerj.numworkeri.num) worker1=wo

温馨提示

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

评论

0/150

提交评论