




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include #include #include /*定义结构体*/struct RuC_dataint nian,yue,ri;/生产日期:年,月,日;struct ZhiG_inf/定义一个类型名为SHANGP的结构体类型int member;/工号char name20;/名字char xingb20;/性别double gongz;/工资struct RuC_data data;/生产日期PRESON1000;/*使用函数的定义*/int num=0;void TianG();void ZhanX();void Display();void Read_file();void Write_file();void XiuG();void ShanC();void ZhuiG();void PaiX(); /*主菜单*/void main() while(1)int option;system(cls); /*清除屏幕*/printf(tt-主菜单-n);printf(tt-职工信息加载-n);printf(tt-职工信息添加-n);printf(tt-职工信息查看-n);printf(tt-职工信息修改-n);printf(tt-职工信息查找删除-n);printf(tt-职工信息排序-n);printf(tt-职工信息追加-n);printf(tt-职工信息保存-n);printf(tt-退出程序-n);printf(tt请选择: );scanf(%d,&option);switch (option) /选择 case 1:Read_file();/读入文件break; case 2:TianG();/初始添加break; case 3:ZhanX();/查看职工信息break; case 4:XiuG();/修改职工信息break; case 5:ShanC();/查看和删除记录break; case 6:PaiX();/进行排序break; case 7:ZhuiG();/追加职工信息break; case 8:Write_file();/保存文件break; case 0:exit(0);/*添加记录*/void TianG() int number,i,flag=0;system(cls);printf(tt-职工信息添加-n);printf(tt请输本次录入记录个数:);scanf(%d,&number);for(i=0;inumber;i+)printf(tt请输第%d职工的序号:,i+1);scanf(%d,&PRESONi.member);getchar();printf(tt职工姓名:t);scanf(%s,&PRESON);getchar();printf(tt职工性别:t);scanf(%s,&PRESONi.xingb);getchar();printf(tt职工工资:t);scanf(%lf,&PRESONi.gongz);getchar();printf(tt入厂日期:t);scanf(%d%d%d,&PRESONi.data.nian,&PRESONi.data.yue,&PRESONi.data.ri);getchar();if(PRESONi.data.yue12) /*判断数据是否正确*/printf(tt很抱歉!你输入的职工信息错误!(0yue=12)n);i-;/如果输入错误重新输入if(PRESONi.data.yue=4|PRESONi.data.yue=6|PRESONi.data.yue=9|PRESONi.data.yue=11)if(PRESONi.data.ri30)printf(tt很抱歉!你输入的职工信息错误!(0%d月的天数=30)n,PRESONi.data.yue);i-;/如果输入错误重新输入if(PRESONi.data.yue=1|PRESONi.data.yue=3|PRESONi.data.yue=5|PRESONi.data.yue=7|PRESONi.data.yue=8|PRESONi.data.yue=10|PRESONi.data.yue=12)if(PRESONi.data.ri31)printf(tt很抱歉!你输入的职工信息错误!(0%d月的天数=31)n,PRESONi.data.yue);i-;/如果输入错误重新输入if(PRESONi.data.yue=2)/判断2 月的天数if(PRESONi.data.nian%4=0)&(PRESONi.data.nian%100!=0)|(PRESONi.data.nian%400=0)/判断是否是闰年flag=1;else flag=0;if(flag=1)/闰年2月超过29天报错if(PRESONi.data.ri29)printf(tt很抱歉!你输入的职工信息错误!(0%d年%d月的天数=29)n,PRESONi.data.nian,PRESONi.data.yue);i-;/如果输入错误重新输入if(flag=0)/平年2 月超过28天报错if(PRESONi.data.ri28)printf(tt很抱歉!你输入的职工信息错误!(0%d年%d月的天数=28)n,PRESONi.data.nian,PRESONi.data.yue);i-;/如果输入错误重新输入 printf(tt是否存储?(Y/N):);if (getchar()=y | getchar()=Y)for(i=0;inumber;i+) num+; /*增加一组数据*/ getchar();/*查询菜单*/void ZhanX() int option;printf(tt-查询菜单-n); printf(tt-查看所有记录:ntt返回主菜单ntt请选择: );scanf(%d,&option);getchar();switch (option)case 1: system(cls);Display();ZhanX();case 2: main();default: ZhanX();/*显示所有信息*/void Display() int i;system(cls);printf(tt职工序号 职工姓名 职工性别 职工工资 入厂日期ntt-n);for (i=0;inum;i+) printf(tt%-11d %-11s %-11s %-11lf %d-%d-%dn,PRESONi.member,PRESON,PRESONi.xingb,PRESONi.gongz,PRESONi.data.nian,PRESONi.data.yue,PRESONi.data.ri);/*按照职工名称是否相同返回下标*/int back_i(char name) int i; for (i=0;inum;i+) if( strcmp(PRESON,name)=0) /*判断字符是否相同*/ return i; return -1; /*修改记录*/void XiuG() char name20; int index,flag;char x;Display();printf(tt-修改职工信息-n); printf(ntt请输入要修改的职工姓名:); scanf(tt%s,name); index=back_i(name); /*调用(按照职工名称是否相同返回下标)函数*/ if (index=-1) printf(n该职工不存在!n); else printf(tt你要修改的信息为:n); printf(ntt职工序号 职工姓名 职工性别 职工工资 入厂日期n); printf(tt%-11d %-11s %-11s %-11lf %d-%d-%dn,PRESONindex.member,PRESON,PRESONindex.xingb,PRESONindex.gongz,PRESONindex.data.nian,PRESONindex.data.yue,PRESONindex.data.ri); printf(tt-请输入新值-n); printf(ntt请输入职工序号:); scanf(%d,&PRESONindex.member);printf(ntt请输入职工性别:); scanf(%s,&PRESONindex.xingb);printf(ntt请输入职工工资:); scanf(%lf,&PRESONindex.gongz);printf(ntt请输入职工入厂期:); scanf(%d%d%d,&PRESONindex.data.nian,&PRESONindex.data.yue,&PRESONindex.data.ri);if(PRESONindex.data.yue12) /*判断数据是否正确*/printf(tt很抱歉!你输入的职工信息错误!(0yue=12)n);printf(tt输入任意字符继续:);scanf(%c,&x);XiuG();/如果输入错误重新输入if(PRESONindex.data.yue=4|PRESONindex.data.yue=6|PRESONindex.data.yue=9|PRESONindex.data.yue=11)if(PRESONindex.data.ri30)printf(tt很抱歉!你输入的职工信息错误!(0%d月的天数=30)n,PRESONindex.data.yue);printf(tt输入任意字符继续:);scanf(%c,&x);XiuG();/如果输入错误重新输入if(PRESONindex.data.yue=1|PRESONindex.data.yue=3|PRESONindex.data.yue=5|PRESONindex.data.yue=7|PRESONindex.data.yue=8|PRESONindex.data.yue=10|PRESONindex.data.yue=12)if(PRESONindex.data.ri31)printf(tt很抱歉!你输入的职工信息错误!(0%d月的天数=31)n,PRESONindex.data.yue);printf(tt输入任意字符继续:);scanf(%c,&x);XiuG();/如果输入错误重新输入if(PRESONindex.data.yue=2)/判断2 月的天数if(PRESONindex.data.nian%4=0)&(PRESONindex.data.nian%100!=0)|(PRESONindex.data.nian%400=0)/判断是否是闰年flag=1;else flag=0;if(flag=1)/闰年2月超过29天报错if(PRESONindex.data.ri29)printf(tt很抱歉!你输入的职工信息错误!(0%d年%d月的天数=29)n,PRESONindex.data.nian,PRESONindex.data.yue);printf(tt输入任意字符继续:);scanf(%c,&x);XiuG();/如果输入错误重新输入if(flag=0)/平年2 月超过28天报错if(PRESONindex.data.ri28)printf(tt很抱歉!你输入的职工信息错误!(0%d年%d月的天数=28)n,PRESONindex.data.nian,PRESONindex.data.yue);printf(tt输入任意字符继续:);scanf(%c,&x);XiuG();/如果输入错误重新输入 getchar(); /*查找删除相关信息*/void ShanC() int i; char name20; int index; Display(); printf(ntt请输入要查找的职工姓名:); scanf(tt%s,name); index=back_i(name); if (index=-1) printf(n该职工不存在!n); else char p; printf(ntt你要查找的记录为:n); printf(tt-); printf(ntt职工序号 职工姓名 职工性别 职工工资 入厂日期n ); printf(tt%-11d %-11s %-11s %-11lf %d-%d-%dn,PRESONindex.member,PRESON,PRESONindex.xingb,PRESONindex.gongz,PRESONindex.data.nian,PRESONindex.data.yue,PRESONindex.data.ri); printf(ntt是否要删除? (y/n); scanf(n%c,&p); if (p=Y|p=y) for (i=index;inum-1;i+) PRESONi=PRESONi+1; /*将该条记录后面的数据前移*/ num-; getchar(); /*从文件读取记录*/void Read_file() FILE *fp; int i=0; int flag=0; char x; if (fp=fopen(c:zhigong.txt,rb)=NULL) printf(职工信息不存在,请按回车重新建立!n); return; else printf(tttt职工信息已加载!n); while(fread(&PRESONi,sizeof(struct ZhiG_inf),1,fp)!=NULL) num+;i+; fclose(fp); printf(tt输入任意字符继续:); scanf(%c,&x); scanf(%c,&x); /*保存文件*/void Write_file() FILE *fp; int i; char x; if (fp=fopen(c:zhigong.txt,wb)=NULL) printf(不能打开文件!n); return; for (i=0;inum;i+) if (fwrite(&PRESONi,sizeof(struct ZhiG_inf),1,fp)!=1) printf(写入文件错误!n); fclose
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国数码3c涂料行业需求分析及投资发展前景调研报告
- 传热学考试模拟题(附答案)
- 临床诊断学考试模拟题含答案
- 2025年陕西省汉中市宁强县中考一模语文试题(原卷版+解析版)
- 聚丙烯腈纤维单体合成考核试卷
- 自然灾害的风险评估与防范考核试卷
- 橡胶材料性质与应用考核试卷
- 石墨在新能源储存系统材料的选择考核试卷
- 海洋石油钻探的深海钻探事故案例分析考核试卷
- 搬运设备负载能力分析考核试卷
- 设备档案模板
- 2023年康复专科护士理论考核试题
- 南京信息工程大学毕业答辩模板
- 药学专业社会实践报告3000字
- 宫颈炎的护理查房
- 血友病特点和常见治疗方式宣教
- 2022年山东省青岛一中自主招生化学模拟试卷一(附答案详解)
- 图纸会审记录表格模板
- 实体门店管理规定薪酬绩效管理规定
- 五年级下册综合实践活动教案-有趣的拉线偶人 全国通用
- 人教版四年级数学下册《营养午餐》评课稿
评论
0/150
提交评论