版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#in elude #i nclude#i ncludestruct workerint num;char n ame20;char zhiche ng10;int wages;int reward;long birth;int salary;work500,work1; /* 定义结构体 */void me nu(; 声明菜单函数void typen(; /声明录入函数void baocu n(int; /声明保存函数void scan(; /声明浏览函数void del(; /声明删除函数void search(; /声明查询函数void search_zhiche ng(; /声明按职称
2、查询函数void search_name(; /声明按姓名查找函数void cha nge(; /声明修改函数void order(; 声明排序函数void add(; 声明添加函数void order_wages(;void order_ name(;void menu( /* 菜单函数 */ prin tf("n"prin tf(" welcome to n"printf("职工信息管理系统printf('*n"*printf('*n"printf(" 1.录入职工信息n"printf
3、(" 2.浏览职工信息n"printf(" 3.查询职工信息n"printf(" 4.删除职工信息n"printf(" 5.修改职工信息n"printf(" 6.职工信息排序n"printf(" 7.添加职工信息n"printf(" 8.退出 n"*prin tf("n"/*/ void mai n( int n,f;while(1 domenu(; /*调用菜单函数*/printf("请输入你需要操作的序号(1 8:n&qu
4、ot;sea nf("%d",&n;if(n >=1 &&n <=8f=1;break;elsef=0;printf("您输入有误,请重新选择!"while(f=0;switch( ncase 1:printf("录入职工信息 n"printf("n"type_in(;break;case 2:printf("浏览职工信息 n"printf("n"system("cls"scan(;break;case 3:printf
5、("查询职工信息 n"printf("n"system("cls"search(;break;case 4:printf("删除职工信息 n"printf("n"system("cls"del(;break;case 5:printf("修改职工信息 n"printf("n"system("cls"change(;break;case 6:printf("职工信息排序 n"printf("
6、;n"system("cls"order(;break;case 7:printf(” 添加职工信息 n"printf("n"system("sls"add(;break;case 8:goto loop;/*用goto语句跳至跳至指定的行*/default :break;loop:/ 行标system("cls"prin tf("nnnnnn 谢谢使用! nnnnnn"/*/void type_in( /* 录入函数 */int i,m;printf("请输入需要
7、创建信息的职工人数(1-500:n"sca nf("%d",&m;for (i=0;iprintf("请输入职工号:"sca nf("%d",&worki. num;prin tf("n"printf("请输入姓名:"sca nf("%s",worki. name;getchar(;printf("请输入职称:"sea nf("%s",&worki.zhiche ng;printf("请输入基
8、本工资:"sea nf("%d",&worki.wages;printf("请输入奖金:"sea nf("%d",&worki.reward;printf("请输入生日(格式如19900101):"sea nf("%d",&worki.birth;getchar(;system("cls"printf("n 一个职工的信息档案创建完毕!请输入下一个职工的信息 n"worki.salary=worki.wages + wor
9、ki.reward;prin tf("n"baocun(m;/*/void baocun(int m /*保存文件函数 */int i;FILE *fp;if (fp=fopen("E:worker_list.txt","wb"=NULL /* 创建文件并判断是否能打开 */ printf ("此文件不能打开n"exit(0;for (i=O;i将内存中职工的信息输出到磁盘文件中去*/if (fwrite(&worki,sizeof(struct worker,1,fp!=1prin tf("fi
10、le write error'n"fclose(fp;/*/int load( /*导入函数*/FILE*fp;int i=0;if(fp=fope n( "E:worker_list.txt","rb"=NULLprintf ("cannot open filen"exit(0;elsedofread(&worki,sizeof(struct worker,1,fp;i+;while(feof(fp=0;fclose(fp;return(i-1;*/ void scan( /*浏览函数 */int i;in
11、t m=load(;printf("n职工号t姓名t职称t基本工资t奖金t实际工资t生日n" for(i=0;iprin tf("n %dt%st %st %d t%dt %dt %ldn",worki. nu m,worki. name, worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth; printf("按任意键继续n"getchar(;getchar(;system("cls"void del( /*删除函数*/int m=lo
12、ad(;in t i,j,n ,t,f;char name110;printf("n原来的职工信息:n"sean(; /*调用浏览函数*/prin tf("n"printf("请输入要删除的职工的姓名:n"sea nf("%s" ,n amel;for(f=1,i=0;f&&iif(strcmp(worki. name, name1=0printf("n已找到此人,原始记录为:n"printf("n职工号t姓名t职称t基本工资t奖金t实际工资t生日n"prin
13、 tf("n %dt%st %st %d t%dt %dt %ldn",worki. nu m,worki. name,worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth;printf("n确实要删除此人信息请按1,不删除请按0n"sca nf("%d",&n;if(n=1 /*如果删除,则其他的信息都向前移一行*/for(j=i;jworkj=workj+1;f=0;if(!fm=m-1;elseprintf("n对不起,查无此人!n&
14、quot;printf("n浏览删除后的所有职工信息:n"baocu n(m; /*调用保存函数*/scan(; /*调用浏览函数*/printf("n继续删除请按1,不再删除请按0n"sca nf("%d", &t;switch(tcase 1:del(;break;case 0:break;default :break;system("cls"/*/void search(/*查询函数 */int t,f;doprintf("n按姓名查询请按1 ;按职称查询请按2 ;进入主函数按3n"
15、;sca nf("%d", &t;if(t>=1 &&t<=3f=1;break;elsef=0;printf("您输入有误,请重新选择!"while(f=0;system("cls"while(f=1switch(tcase 1:printf("按姓名查询 n"search_name(;break;case 2:printf("按职称查询 n"search_zhicheng(;break;case 3:ma in (;break;default:break;
16、system("cls"/*/ void search_name(/按姓名查找函数*/char name110;int i,t;int m=load(;printf("请输入要查找的姓名:n"sea nf("%s" ,n amel;for(i=0;iif(strcmp( name1,worki. name=0printf("n已找到此人,其记录为:n"printf("n职工号t姓名t职称t基本工资t奖金t实际工资t生日n"prin tf("n %dt%st %st %d t%dt %d
17、t %ldn",worki. nu m,worki. name, worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth; break;if(i=mprintf("n对不起,查无此人n"prin tf("n"printf("返回查询函数请按1,继续查询职工号请按2n"sca nf("%d", &t;switch(tcase 1:search(;break;case 2: break;default:break;/*/voi
18、d search_zhicheng(/*按职称查找函数 */char zhiche ng110;int i,t;int m=load(;printf("请输入要查找的职称:n"sca nf("%s",zhiche ng1;for(i=0;iif(strcmp(zhiche ng1,worki.zhiche ng=0printf("n已找到此人,其记录为:n"printf("n职工号t姓名t职称t基本工资t奖金t实际工资t生日n"prin tf("n %dt%st %st %d t%dt %dt %ldn&
19、quot;,worki. nu m,worki. name, worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth; break;if(i=mprintf("n对不起,查无此人n"prin tf("n"sca nf("%d", &t;printf("返回查询函数请按1,继续查询职工号请按2n"switch(t case 1:search(;break;case 2: break;default:break;/*/void chan
20、ge( /*修改函数 */int num;char n ame20;char zhiche ng10;int wages;int reward;int birth;int salary;int b,c,i, n,t,f;int m=load(; /*导入文件内的信息*/printf("n原来的职工信息:n"scan(; /*调用浏览函数*/prin tf("n"sca nf("%s", name;printf("请输入要修改的职工的姓名:n"for(f=1,i=0;f&&iif(strcmp(wor
21、ki. name ,n ame=0printf("n已找到此人,原始记录为:n"printf("n职工号t姓名t职称t基本工资t奖金t实际工资t生日n"prin tf("n %dt%st %st %d t%dt %dt %ldn",worki. nu m,worki. name,worki.zhiche ng,worki.wages,worki.reward,worki.salary,worki.birth;printf("n确实要修改此人信息请按1 ;不修改请按0n"sca nf("%d",&
22、amp;n;if(n=1printf("n需要进行修改的选项n 1.职工号2.姓名3.职称4.基本工资5.奖金6.生日7. 实际工资n"printf("请输入你想修改的那一项序号:n"sca nf("%d",&c;if(c>7|c<1printf("n选择错误,请重新选择!n"f=0;Unit 6 Where are the jazz CDs?if(f=1 doprintf("n对不起,查无此人!n"switch(c /*因为当找到第i个职工时,for语句后i自加了 1,所以
23、下面的应该把改后的信息赋值给第i-1个人*/ case 1:printf("职工号改为:"sca nf("%d",#worki-1. num=num;break;case 2:printf('姓名改为:"sca nf("%s", name;strcpy(worki-1. name, name;break;case 3:printf("职称改为"sca nf("%s",zhiche ng;strcpy(worki-1.zhiche ng,zhiche ng; break;case
24、 4:printf("基本工资改为:";sca nf("%d",&wages;worki-1.wages=wages;break;case 5:printf("奖金改为:"sca nf("%d",&reward;worki-1.reward=reward;break;case 6:printf("生日改为:"sea nf("%ld",&birth;worki-1.birth=birth;break;ease 7:printf("实际工资改为:
25、"sea nf("%d",&salary;worki-1.salary=salary;break;prin tf("n"printf("n是否确定所修改的信息?n是请按1 ; n不Topic: Music请按2: n"sea nf("%d",&b;Fun eti ons : Ask for and give direeti ons in side a buildi ngwhile(b=2;printf("n 浏览修改后的所有职工信息Struetures: Where What q
26、uestions printf("n"baoeun(m;sea n(;printf("n继续修改请按1,不再修改请按0n"sea nf("%d", &t;switeh(tease 1:eha nge(;break;ease 0:break;default :break;system("els"/*/void order(/*排序函数 */int k,f;doprintf("n按姓名排序请按1 ;按基本工资排序请按2 ;进入主函数按3n"sea nf("%d",&
27、;k;if(k>=1 &&k<=3f=1;break;elsef=0;printf("您输入有误,请重新选择!"while(f=O;system("cls"while(f=1switch(kcase 1:printf("n按姓名排序为(字母由小到大排列:n"order_name(;break; case 2:printf("n按基本工资排序为(由高到低排列:n"order_wages(;break; case 3:system("cls"mai n(;break;de
28、fault:break;system("cls"/*/void order_name(/*按姓名排序函数*/int i,j,k;int m=load(;for(i=0;ifor(j=0;j起泡法排序*/if(strcmp(workj. name,workj+1. name>0 work仁workj;workj=workj+1;workj+1=work1;baocun(m;printf("n职工号t姓名t职称t基本工资t奖金t实际工资t生日n" for(j=0;jprin tf("n %dt%st %st %d t%dt %dt %ldn&
29、quot;,workj. nu m,workj. name, workj.zhiche ng,workj.wages,workj.reward,workj.salary,workj.birth; printf("返回排序函数请按1,返回主菜单请按2n"sca nf("%d",&k;switch(k case 1:order(;break;case 2:system("cls" main (;break;default:break;system("cls"/*/void order_wages(/*按基本工资排序函数*/int i,k,j;int m=load(;for(i=0;ifor(j=0;jif(workj.wages用起泡法排序*/ work仁workj;workj=workj+1;workj+1=work1;baocun(m;printf("n职工号t姓名t职称t基本工资t奖金t实际工资t生日n" for(j=0;jprin tf("n %dt%st %st %d t%dt %dt %ldn",workj. nu m,workj. name,w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁路轨道工程施工招标合同三篇
- 许昌学院《造型基础》2021-2022学年第一学期期末试卷
- 激励员工的服务意识与敬业精神计划
- 铁矿石采购合同三篇
- 四年级数学(除数是两位数)计算题专项练习及答案
- 四年级数学(上)计算题专项练习及答案
- 施工环境保护和水土保持措施
- 食品采购合同模板三篇
- 雇佣劳动合同协议书示范三篇
- 丰富班级课程内容的构思计划
- 水利工程工程施工机械台时费定额
- “审美为核心的音乐教育”哲学批评与音乐教育的文化哲学建构
- 2024年国家开放大学《四史通讲》形考任务专题7自测练习参考答案
- 作物育种学智慧树知到期末考试答案章节答案2024年中国农业大学
- 员工舆情风险培训课件
- 直播升学规划方案
- 2024年版《安全生产法》
- 中等专业学校数学(高教版)教案:统计图表
- 小学生金融知识课件
- 广告牌制作安装应急预案
- T-CRHA 028-2023 成人住院患者静脉血栓栓塞症风险评估技术
评论
0/150
提交评论