版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、全部源代码:#include<stdio.h>#include<string.h> #include<conio.h> #include <stdlib.h>#define MAX 100 char filename20; FILE *fp;int n; /* struct date /* int year;int mouth; int day; ;struct person /* char name10; /* int age; /* char job10; /* char sex10; /* char address20; /* char p
2、hone10; /* struct date in_time; /*t,workerMAX;/* 文件名 */当前该厂人数 */ 时间结构体 */员工信息结构体 */ 姓名*/ 年龄*/ 工作 */ 性别 */ 地址 */ 电话*/入厂时间 */* 录入模块 */void input()int i;system("cls");/system("cls"); printf("nn 请输入文件名 n"); scanf("%s",filename); printf(" 开始输入员工的信息 n"); p
3、rintf("n 请输入现有员工人数 n");scanf("%d",&n); if(fp=fopen(filename,"w")=NULL) printf(" 不能建立! n");exit(0);for(i=0;i<n;i+) pri ntf(”第4 个人的信息:n ”,i+1);printf("姓名 n");scanf("%s",); printf("年龄 n");scanf("%d",&
4、workeri.age);printf("工作 n");scanf("%s",workeri.job);printf("性别 n");scanf("%s",workeri.sex);printf("地址 n");scanf("%s",workeri.address);printf("电话 n");scanf("%s",workeri.phone);printf("入厂年 n");scanf("%d"
5、;,&workeri.in_time.year);printf("入厂月 n");scanf("%d",&workeri.in_time.mouth);printf("入厂日 n");scanf("%d",&workeri.in_time.day);printf(" 录入完毕,按任意键返回主菜单 n");getch();for(i=0;i<n;i+)fprintf(fp,"%s %d %s %s %s %s %d-%d-%dn",workeri.
6、name,workeri.age,wor keri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.yea r,workeri.in_time.mouth,workeri.in_time.day);fclose(fp);/* 输出模块 */void output() int i;if(fp=fopen(filename,"r")=NULL) printf("暂时未有任何信息,请按任意键返回主菜单进行信息录入 n");getch();exit(0);system("cls
7、");printf(" 该厂的员工信息: n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); for(i=0;i<n;i+) fscanf(fp,"%s %d %s %s %s %s %d-%d-%d",,&workeri.age,workeri .job,workeri.sex,workeri.address,workeri.phone,&workeri.in_time.year,&wo rkeri.in_time.
8、mouth,&workeri.in_time.day);printf("%st%dt%st%st%st%st%d-%d-%d n",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);fclose(fp);printf(" 输出完毕,按任意键返回主菜单 n");getch();/* 保存模块 */void save
9、() int i;if(fp=fopen(filename,"w")=NULL) /* 打开文件 */ printf("n 不能打开该文件! ");exit(0);for(i=0;i<n;i+)fprintf(fp,"%s %d %s %s %s %s %d-%d-%dn",,workeri.age,wor keri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.yea r,workeri.in_time.mouth,worke
10、ri.in_time.day);fclose(fp);/* 读取信息 */void read_message() int i;printf(" 输入文件名 n");scanf("%s",filename);printf("n 请输入现有员工人数 n");scanf("%d",&n);if(fp=fopen(filename,"r")=NULL) printf("暂时未有任何信息,请按任意键返回主菜单进行信息录入 n");getch();for(i=0;i<n;i
11、+)fscanf(fp,"%s %d %s %s %s %s %d-%d-%d",,&workeri.age,workeri.j ob,workeri.sex,workeri.address,workeri.phone,&workeri.in_time.year,&work eri.in_time.mouth,&workeri.in_time.day);fclose(fp);/* 修改模块 */void modify() int i,flag,choice; char ch,namekey10;flag=0;syste
12、m("cls");printf(" 开始修改 n");doprintf("请输入要修改的员工姓名 n");scanf("%s",namekey);for(i=0;i<n;i+) if(strcmp(,namekey)=0) printf(" 是否修改此人 (y/n)n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%d
13、n",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);getchar(); /* 接收回车 */ch=getchar(); if(ch='y') printf(" * printf(" *1, printf(" *2, printf(" *3, printf(" *4, printf(
14、" *5, printf(" *6, printf(" *7, printf(" *8, printf(" *9, printf(" scanf("%d",&choice);您要修改那一项? 姓名 *nn"); 年龄 *nn"); 工作 *nn"); 性别 *nn"); 地址 *nn"); 电话 *nn"); 入厂年 *nn"); 入厂月 *nn"); 入厂日 *nn"); 请选择 (1-9)n");*nn&
15、quot;);switch(choice) case 1: printf("输入修改后的姓名 n");scanf("%s",); break;case 2: printf("输入修改后的年龄 n");scanf("%d",&workeri.age); break;case 3: printf("输入修改后的工作 n");scanf("%s",workeri.job); break;case 4: printf("输入修改后的性别 n&
16、quot;);scanf("%s",workeri.sex); break;case 5: printf("输入修改后的地址 n");scanf("%s",workeri.address); break;case 6: printf("输入修改后的电话 n");scanf("%s",workeri.phone); break;case 7: printf("输入修改后的入厂年 n");scanf("%d",&workeri.in_time.year
17、); break;case 8: printf("输入修改后的入厂月 n");scanf("%d",&workeri.in_time.mouth); break;case 9: printf(" 输入修改后的入厂日 n");scanf("%d",&workeri.in_time.day); break;printf(" 修改后的信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf(&quo
18、t;%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);else break;elseif(i=n) printf(" 此人不存在 n");printf("n 是否继续输入 (y/n)n");getchar(); /* 接收回车 */ch=getchar
19、();if(ch='y') printf(" 继续 n");flag=1;else flag=0;while(flag=1);printf(" 修改完毕,按任意键返回主菜单 n") ;getch();/* 添加模块 */void add() int i,flag=0; char ch;system("cls");printf("n 开始添加新员工 n");printf(" *nn");do i=n;printf("n 请输入添加职工的信息 ( 姓名 , 年龄 , 工作
20、, 性别 , 地址 , 电话 , 入厂时 间)n");printf(" 姓名 n");scanf("%s",);printf("年龄 n");scanf("%d", &workeri.age);printf("工作 n");scanf("%s",workeri.job);printf(" 性别 n");scanf("%s",workeri.sex);printf("地址 n"
21、);scanf("%s",workeri.address);printf("电话 n");scanf(" %s",workeri.phone);printf("入厂年 n");scanf("%d",&workeri.in_time.year);printf("入厂月 n");scanf("%d",&workeri.in_time.mouth);printf("入厂日 n");scanf("%d",&a
22、mp;workeri.in_time.day);n+;printf("n 添加成功!是否继续输入 (y/n)n");getchar(); /* 接收回车 */ch=getchar();if(ch='y') printf("继续 n");flag=1;else flag=0;while(flag=1);printf(" 添加完毕,按任意键返回主菜单 n") ;getch();/* 删除模块 */void del() int i,flag; char ch,namekey10;flag=0;system("cls
23、");printf(" 开始删除 n");do printf(" 请输入要删除员工的名字 n");scanf("%s",namekey);for(i=0;i<n;i+)if(strcmp(,namekey)=0) /* 查找此人 */ printf(" 是否删除此人 (y/n)n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%
24、dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);getchar(); /* 接收回车 */ch=getchar();if(ch='y') for(;i<n;i+)workeri=workeri+1;n-;else break;elseif(i=n)printf(" 此人不存在 n");printf
25、("n 是否继续输入 (y/n)n"); getchar(); /* 接收回车 */ch=getchar();if(ch='y') printf(" 继续 n");flag=1;else flag=0;while(flag=1);printf(" 操作完毕,按任意键返回主菜单 n") ; getch();/* 更新模块 */void renew() int i; system("cls"); printf("nnn * printf(" printf(" printf(
26、" printf(" printf(" scanf("%d",&i);do更新员工信息 *nn"); 按 1,添加员工信息 nn"); 按 2,删除员工信息 nn"); 按 3,修改员工信息 nn"); 按 0, 返回主菜单 n"); 请选择 (0-3)n");switch(i) case 1: add(); break;case 2: del(); break;case 3: modify(); break;case 0: break;while(i!=0); save();
27、/* 按姓名查找 */void name_cha() int i,j; char namekey10;j=0;system("cls");printf(" 输入要查询的员工姓名 n");scanf("%s",namekey);for(i=0;i<n;i+)if(strcmp(,namekey)=0) /* 查找此人 */ printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf
28、("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);else j+;if(j=n)printf(" 此人不存在 n");printf(" 按任意键返回主菜单 n");getch();/* 按年龄查找 */void age_cha() int
29、 i,j; int agekey;j=0;system("cls");printf(" 输入要查询员工的年龄 n");scanf("%d",&agekey);for(i=0;i<n;i+)if(workeri.age=agekey) printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%dn",
30、,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);else j+;if(j=n)printf(" 此人不存在 n");printf(" 按任意键返回主菜单 n");getch();/* 按工作查找 */ void job_cha() int i,j; char jobkey10;j=0;system("cls");prin
31、tf(" 输入要查询的员工职务 n");scanf("%s",jobkey);for(i=0;i<n;i+)if(strcmp(workeri.job,jobkey)=0) printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri
32、.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);if(j=n) printf(" printf("else j+;此人不存在 n"); 按任意键返回主菜单 n");getch();/* 查询模块 */ void inquire() int i;do查询员工信息 *nn"); 按姓名查询 *nn"); 按年龄查询 *nn"); 按工作查询 *nn"); 返回主菜单 n");请选择
33、 (0-3)n"); system("cls"); printf("nnn * printf(" *1, printf(" *2, printf(" *3, printf(" *0, printf("scanf("%d",&i);switch(i) case 1: name_cha();break; case 2: age_cha(); break; case 3: job_cha();break; case 0: break;while(i!=0);/* 排列模块 */ vo
34、id line() int i,j;system("cls");printf(" 按年龄排序 nn");for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(workeri.age>workerj.age) t=workeri;workeri=workerj;workerj=t;printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); for(i=0;i<n;i+)printf("%st%dt%st%st%st%st%d-%d-%d n&qu
35、ot;,,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);printf(" 按任意键返回主菜单 n");getch();/* 按年龄统计 */void count_age() int i,j; int agekey;j=0;system("cls");printf(" 输入要统计员工的年龄 n");
36、scanf("%d",&agekey);for(i=0;i<n;i+)if(workeri.age=agekey) printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_
37、time.year,workeri.in_time.mouth,workeri.in_time. day);else j+;if(j=n)printf(" 暂无该年龄段员工 n");printf(" 按任意键返回主菜单 n");getch();/* 按职务统计 */void count_job() int i,j; char jobkey10;j=0;system("cls"); printf(" 输入要统计的员工职务 n"); scanf("%s",jobkey);for(i=0;i<n
38、;i+)if(strcmp(workeri.job,jobkey)=0) printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,worker
39、i.in_time. day);else j+;if(j=n)printf(" 暂无该职务或该职务暂时无人 n");printf(" 按任意键返回主菜单 n");getch(); /* 按性别统计 */ void count_sex() int i,j; char sexkey10; j=0;system("cls");printf(" 输入要统计的员工性别 n"); scanf("%s",sexkey);for(i=0;i<n;i+)if(strcmp(workeri.sex,sexke
40、y)=0) printf(" 员工信息 n");printf(" 姓名 t 年龄 t 工作 t 性别 t 地址 t 电话 t 入厂时间 n"); printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,w orkeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time. day);else j+;if(j=n)
41、printf(" 暂无该性别员工 n");printf(" 按任意键返回主菜单 n");getch();/* 统计模块 */ void count() int i;do system("cls"); printf("nnn * printf(" printf(" printf(" printf(" printf(" scanf("%d",&i);统计员工信息 *nn"); 按 1, 统计某年龄职工 nn"); 按 2, 统计某职务员工 nn"); 按 3, 统计某性别职工 nn")
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编版语文四年级上册 第三单元 语文写观察日记教学课件
- T/GDYS 002-2025镁合金晶粒尺寸及织构的测定 电子背散射衍射(EBSD)法
- 2026区块链底层技术性能优化与行业标准制定
- 2026年甾体药物行业技术创新动态报告
- 2026年跨境电商市场动态与行业创新策略分析报告
- 2026年皮革行业发展行业新材料创新报告及未来五至十年行业发展趋势分析报告
- 2026年黄酒行业市场创新策略研究报告
- 《阅读状物类文章》课件
- 《赞汉字汪竹柏》课件
- 2026年中职物流服务与管理专业综合试卷及答案
- 混凝土工程中常见裂缝成因及预防措施培训
- Unit2单元测试题2026-2026学年人教版八年级上册英语
- SYT 6696-2025《储油罐机械清洗作业规程》
- 2027届新高考语文精准冲刺复习作文审题立意指导及范文
- 《AQ3063-2025 化工企业可燃液体常压储罐区安全管理规范》对标检查表
- 铁路安全常识试题及答案
- 2026年中华诗词大赛诗词大会知识题库(含答案)
- 2026年计划员转正测试题及答案
- 养老机构养护服务质控检查记录表
- 2026年市政工程安全计划
- 2026年天津事业单位招聘面试题目及答案
评论
0/150
提交评论