收藏 分销(赏)

职工信息管理系统—C课设.doc

上传人:仙人****88 文档编号:11305024 上传时间:2025-07-15 格式:DOC 页数:18 大小:105KB 下载积分:10 金币
下载 相关 举报
职工信息管理系统—C课设.doc_第1页
第1页 / 共18页
职工信息管理系统—C课设.doc_第2页
第2页 / 共18页


点击查看更多>>
资源描述
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> int N=0; struct date { int year; int month; int day; }; struct worker { int num; char name[10]; char sex[2]; struct date bir; char edu[6]; char sta[10]; char bra[10]; long wage; char addr[50]; char tel[11]; }; struct worker worker[100],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 s[20]; 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("恭喜你成功登陆了\n\n\n"); flag=1; break; } else { printf("输入有错误请重新输入:\n"); n--; } }while(n>0); if(flag==0) { printf("你的输入次数已到再见!"); exit(1); } zi_menu(); } void zi_menu() /*选择你所需要的服务*/ { int a; printf(" \3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3请选择您所需要的操作\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n"); printf(" \3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n"); printf(" \3\3\3\3\3\3 1.录入职工信息 2.修改职工信息 \3\3\3\3\3\3\3\n"); printf(" \3\3\3\3\3\3 3.删除职工信息 4.浏览职工信息 \3\3\3\3\3\3\3\n"); printf(" \3\3\3\3\3\3 5.查询职工信息 6.排序职工信息 \3\3\3\3\3\3\3\n"); printf(" \3\3\3\3\3\3 7.退出 \3\3\3\3\3\3\3\n"); printf(" \3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\n"); printf("您想查询哪一个内容呢?1-7\n"); 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 file\n"); exit(1); } for(int i=0;i<N+6;i++) { fscanf(p,"%d%s%s%d%d%d%s%s%s%ld%s%s\n", &worker[i].num,worker[i].name,worker[i].sex,&worker[i].bir.year,&worker[i].bir.month,&worker[i].bir.day, worker[i].edu,worker[i].sta,worker[i].bra,&worker[i].wage,worker[i].addr,worker[i].tel); printf("%d\t%s\t%s\t%d\t%d\t%d\t%s\t%s\t%s\t%ld\t%s\t%s\n",worker[i].num,worker[i].name,worker[i].sex, worker[i].bir.year,worker[i].bir.month,worker[i].bir.day,worker[i].edu, worker[i].sta,worker[i].bra,worker[i].wage,worker[i].addr,worker[i].tel); } fclose(p); zi_menu(); } void key() /*键盘录入函数*/ { int i; FILE *fp; printf("请输入需要创建信息的职工人数(1--100):\n"); scanf("%d",&N); for (i=0;i<N;i++) { printf("请输入职工号: "); scanf("%d",&worker[i].num); printf("\n"); printf("请输入姓名: "); scanf("%s",worker[i].name); getchar(); printf("请输入性别(女 男): "); scanf("%s",&worker[i].sex); printf("请输入生日: "); scanf("%d%d%d",&worker[i].bir.year,&worker[i].bir.month,&worker[i].bir.day); printf("请输入学历: "); scanf("%s",worker[i].edu); printf("请输入职位: "); scanf("%s",&worker[i].sta); printf("请输入部门: "); scanf("%s",&worker[i].bra); printf("请输入工资: "); scanf("%ld",&worker[i].wage); printf("请输入住址: "); scanf("%s",worker[i].addr); printf("请输入电话: "); scanf("%s",worker[i].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 strInput[512]; for (i=0;i<N;i++) /*将内存中职工的信息输出到磁盘文件中去*/ { memset(strInput,0,sizeof(strInput)); sprintf(strInput,"%d %s %s %d %d %d %s %s %s %ld %s %s\n", worker[i].num,worker[i].name,worker[i].sex,worker[i].bir.year,worker[i].bir.month,worker[i].bir.day, worker[i].edu,worker[i].sta,worker[i].bra,worker[i].wage,worker[i].addr,worker[i].tel); int len = 0; for (len = 0; len<512; len++) { if (strInput[len] == '\0') { break; } } if (fwrite(strInput,len,1,fp)!=1) printf("file write error\n"); } 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 name[10]; int i,a,j,b; printf("请问你想修改几位员工的信息?"); scanf("%d",&a); for(j=0;j<a;j++) { printf("请输入你所想修改的员工的姓名:"); scanf("%s",name); for(i=0;i<N+6;i++) { if(strcmp(worker[i].name,name)==0) { printf("请输入职工号: "); scanf("%d",&worker[i].num); printf("\n"); printf("请输入姓名: "); scanf("%s",worker[i].name); getchar(); printf("请输入性别(女 男): "); scanf("%s",&worker[i].sex); printf("请输入生日: "); scanf("%d%d%d",&worker[i].bir.year,&worker[i].bir.month,&worker[i].bir.day); printf("请输入学历: "); scanf("%s",worker[i].edu); printf("请输入职位: "); scanf("%s",&worker[i].sta); printf("请输入部门: "); scanf("%s",&worker[i].bra); printf("请输入工资: "); scanf("%ld",&worker[i].wage); printf("请输入住址: "); scanf("%s",worker[i].addr); printf("请输入电话: "); scanf("%s",worker[i].tel); printf("\n"); } printf("%d\t%s\t%s\t%d\t%d\t%d\t%s\t%s\t%s\t%ld\t%s\t%s\n",worker[i].num,worker[i].name,worker[i].sex, worker[i].bir.year,worker[i].bir.month,worker[i].bir.day,worker[i].edu, worker[i].sta,worker[i].bra,worker[i].wage,worker[i].addr,worker[i].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;j<a;j++) { printf("请输入你所想修改的员工的职工号:"); scanf("%d",&num); for(i=0;i<N+6;i++) { if(worker[i].num==num) { printf("请输入职工号: "); scanf("%d",&worker[i].num); printf("\n"); printf("请输入姓名: "); scanf("%s",worker[i].name); getchar(); printf("请输入性别(女 男): "); scanf("%s",&worker[i].sex); printf("请输入生日: "); scanf("%d%d%d",&worker[i].bir.year,&worker[i].bir.month,&worker[i].bir.day); printf("请输入学历: "); scanf("%s",worker[i].edu); printf("请输入职位: "); scanf("%s",&worker[i].sta); printf("请输入部门: "); scanf("%s",&worker[i].bra); printf("请输入工资: "); scanf("%ld",&worker[i].wage); printf("请输入住址: "); scanf("%s",worker[i].addr); printf("请输入电话: "); scanf("%s",worker[i].tel); printf("\n"); } printf("%d\t%s\t%s\t%d\t%d\t%d\t%s\t%s\t%s\t%ld\t%s\t%s\n",worker[i].num,worker[i].name,worker[i].sex, worker[i].bir.year,worker[i].bir.month,worker[i].bir.day,worker[i].edu, worker[i].sta,worker[i].bra,worker[i].wage,worker[i].addr,worker[i].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 name[20]= {0}; int a,i,j,b,k; printf("请问你想要删除几位员工的信息?"); scanf("%d",&b); for(k=0;k<b;k++) { printf("请输入您想要删除的职工的姓名:"); scanf("%s",name); for(i=0;i<N+6;i++) { if(strcmp(worker[i].name,name)==0) { for(j=i;j<N+6-k;j++) worker[j]=worker[j+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;k<b;k++) { printf("请输入您想要删除的职工的职工号:"); scanf("%d",&num); for(i=0;i<N+6;i++) { if(num==worker[i].num) for(j=i;j<N-k;j++) worker[j]=worker[j+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 file\n"); exit(1); } printf("\n职工号\t姓名\t性别\t出生年月\t\t学历\t职务\t部门\t工资\t住址\t电话 \n"); for(int i=0;i<N+6;i++) { fscanf(p,"%d%s%s%d%d%d%s%s%s%ld%s%s\n", &worker[i].num,worker[i].name,worker[i].sex,&worker[i].bir.year,&worker[i].bir.month,&worker[i].bir.day, worker[i].edu,worker[i].sta,worker[i].bra,&worker[i].wage,worker[i].addr,worker[i].tel); printf("%d\t%s\t%s\t%d\t%d\t%d\t%s\t%s\t%s\t%ld\t%s\t%s\n",worker[i].num,worker[i].name,worker[i].sex, worker[i].bir.year,worker[i].bir.month,worker[i].bir.day,worker[i].edu, worker[i].sta,worker[i].bra,worker[i].wage,worker[i].addr,worker[i].tel); } fclose(p); printf("请问你想退出还是返回主菜单?"); printf("【1 退出】 【2 返回主菜单】"); scanf("%d",&a); switch(a) { case 1:exit(1); break; case 2:zi_menu();break; default:break; } } void search()/*查询函数*/ { int t,flag; do { printf("\n【1按职工号查询 】【2按学历查询】 【3 按电话号码查询】【4进入主函数按】\n"); scanf("%d",&t); if(t>=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出生年月\t\t学历\t职务\t部门\t工资\t住址\t电话 \n"); for(i=0;i<N+6;i++) { if(num==worker[i].num) { printf("\n%d\t%s\t%s\t%d\t%d\t%d\t%s\t%s\t%s\t%ld\t%s\t%s\n",worker[i].num,worker[i].name,worker[i].sex,worker[i].bir.year,worker[i].bir.month,worker[i].bir.day,worker[i].edu,worker[i].sta,worker[i].bra,worker[i].wage,worker[i].addr,worker[i].tel); break; } if(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 edu[6]; int i,t; printf("请输入要查找的学历:\n"); scanf("%s",edu); printf("\n已找到,其记录为:\n"); printf("\n职工号\t姓名\t性别\t出生年月\t\t学历\t职务\t部门\t工资\t住址\t电话 \n"); for(i=0;i<N+6;i++) if(strcmp(worker[i].edu,edu)==0) { printf("\n%d\t%s\t%s\t%d\t%d\t%d\t%s\t%s\t%s\t%ld\t%s\t%s\n",worker[i].num,worker[i].name,worker[i].sex,worker[i].bir.year,worker[i].bir.month,worker[i].bir.day,worker[i].edu,worker[i].sta,worker[i].bra,worker[i].wage,worker[i].addr,worker[i].tel); } if(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_tel() { diao(); char tel[11];
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服