版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#define #defineTITLE "n月份 工号 姓名应发工资各种折扣实发工资 n"DATA"%2d %4ld %-10s %n",p1->month,p1->num,p1->name,p1->should_pay,p1->rebate,p1->actual_paytypedef struct paylong num;short month;char name20;float gw,jn,zw,zl,jt,yj;float should_pay;float fz,gj,sd,others;float rebat
2、e;float actual_pay;struct pay *next;PAY;FILE *fp;PAY *p1=NULL,*p2=NULL,*head=NULL;void menu();PAY *input();void output();void save(PAY *head);PAY *open();PAY *insert();void search();PAY *del();PAY *revise();/* 主程序模块 */void main(void)short sel;domenu();scanf("%d",&sel);switch(sel)case 1
3、:head=input();建工资档案 n");printf("tttt2.新增工资信息 n");printf("tttt3.修改工资信息 n");printf("tttt4.删除工资信息 n");printf("tttt5.查找工资信息 n");printf("tttt6.分类信息列表 n");printf("tttt7.保 存信 息 n");printf("tttt0.退出 n");printf("nnnnnnnn");/
4、* 输入模块 */PAY *input()short n=1;p1=(PAY*)malloc(sizeof(PAY);if(p1=NULL)printf("内存不足,无法创建链表!");getch();printf("n请输入第 %d位职工的信息(以工号为0 结束):n",n);printf("工号: ");scanf("%d",&p1->num);if(p1->num=0)printf("按任意键返回! ");getch();free(p1);return 0;getcha
5、r();printf("姓名: ");gets(p1->name);printf("工资月份: ");scanf("%d",&p1->month);printf("岗位工资,技能工资,职务津贴,职龄津贴,交通补贴,业绩津贴:n");scanf("%f,%f,%f,%f,%f,%f",&p1->gw,&p1->jn,&p1->zw,&p1->zl,&p1->jt,&p1->yj);printf(
6、"房租扣款,公积金,水电费,其它扣款:n");scanf("%f,%f,%f,%f",&p1->fz,&p1->gj,&p1->sd,&p1->others);p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj;p1->rebate=p1->fz+p1->gj+p1->sd+p1->others;p1->actual_pay=p1->should_pay-
7、p1->rebate;while(p1!=NULL)if(n=1)head=p1;elsep2->next=p1;n+;p2=p1;p1=(PAY*)malloc(sizeof(PAY);if(p1=NULL)printf("内存不足,无法创建链表!");getch();printf("请输入第 %d位职工的信息(以工号为0 结束):n",n);printf("工号: ");scanf("%d",&p1->num);getchar();if(p1->num=0)p1=NULL;bre
8、ak;printf("姓名: ");gets(p1->name);printf("工资月份: ");scanf("%d",&p1->month);printf("岗位工资,技能工资,职务津贴,职龄津贴,交通补贴,业绩津贴:n");scanf("%f,%f,%f,%f,%f,%f",&p1->gw,&p1->jn,&p1->zw,&p1->zl,&p1->jt,&p1->yj);printf(&
9、quot;房租扣款,公积金,水电费,其它扣款:n");scanf("%f,%f,%f,%f",&p1->fz,&p1->gj,&p1->sd,&p1->others);p1->should_pay=p1->gw+p1->jn+p1->zw+p1->zl+p1->jt+p1->yj;p1->rebate=p1->fz+p1->gj+p1->sd+p1->others;p1->actual_pay=p1->should_pay-p
10、1->rebate;p2->next=NULL;部清单 n");printf("tt2.按月输出 n");printf("tt3.按工资段输出 n");printf("tt0.返回 n");scanf("%d",&sel);while(sel!=1&&sel!=2&&sel!=3&&sel!=0);head=open();if(head=NULL)return;elseswitch(sel)case 1:printf("nttt
11、*printf(TITLE);p1=head;doprintf(DATA);p1=p1->next;while(p1!=NULL);break;case 2:flag=0;全部清单 *n");printf("输入要查的月份:");scanf("%d",&month);printf("nttt*第 %d月工资清单*n",month);printf(TITLE);p1=head;doif(p1->month=month)printf(DATA);p1=p1->next;flag=1;elsep1=p1-
12、>next;while(p1!=NULL);if(flag=0)printf("没有该月清单 n");break;case 3:flag=0;printf("输入最低工资:");scanf("%f",&min);printf("输入最高工资:scanf("%f",&max);");printf("ntt *%到%工资的名单*n",min,max);printf(TITLE);p1=head;doif(p1->actual_pay>min&am
13、p;&p1->actual_pay<max)printf(DATA);p1=p1->next;flag=1;elsep1=p1->next;while(p1!=NULL);if(flag=0)printf("没有该工资段的职工 n");break;case 0:break;while(sel!=0);/* 保存文件 */void save(PAY *head)short write;fp=fopen("","w");if(fp=NULL)printf("创建文件失败! ");getc
14、h();return;p1=p2=head;while(p1!=NULL)write=fwrite(p1,sizeof(PAY),1,fp);if(!write)printf("无法写入文件! ");getch();return;p1=p1->next;fclose(fp);printf("成功存盘! ");getch();/* 打开文件 */PAY *open()short n=1,read;fp=fopen("","r");if(fp=NULL)printf("无法打开档案文件! ")
15、;getch();return NULL;if(p1=p2=(PAY*)malloc(sizeof(PAY)=NULL)printf("内存不足! ");getch();return NULL;read=fread(p1,sizeof(PAY),1,fp);if(!read)printf("文件读取出错! 1");getch();return NULL;if(p1->next=NULL)head=p1;elsedoif(n=1)head=p1;elsep2->next=p1;n+;p2=p1;if(p1=(PAY*)malloc(sizeof
16、(PAY)=NULL)printf("内存不足! ");getch();return NULL;read=fread(p1,sizeof(PAY),1,fp);if(!read)printf("文件读取出错! 2");getch();return NULL;while(p1->next!=NULL);p2->next=p1;return head;fclose(fp);/* 插入模块 */PAY *insert()PAY *p3=NULL;char sel;head=open();if(head=NULL)return NULL;elsedo
17、printf("请输入要插入的职工信息:n");p3=(PAY*)malloc(sizeof(PAY);if(p3=NULL)printf("内存不足,无法创建链表!");getch();printf("工号: ");scanf("%d",&p3->num);getchar();printf("姓名: ");gets(p3->name);printf("工资月份: ");scanf("%d",&p3->month);pri
18、ntf("岗位工资, 技能工资,职务津贴,职龄津贴, 交通补贴,业绩津贴: n");scanf("%f,%f,%f,%f,%f,%f",&p3->gw,&p3->jn,&p3->zw,&p3->zl,&p3->jt,&p3->yj);printf("房租扣款,公积金,水电费,其它扣款:n");scanf("%f,%f,%f,%f",&p3->fz,&p3->gj,&p3->sd,&p
19、3->others);p3->should_pay=p3->gw+p3->jn+p3->zw+p3->zl+p3->jt+p3->yj;p3->rebate=p3->fz+p3->gj+p3->sd+p3->others;p3->actual_pay=p3->should_pay-p3->rebate;p1=head;while(p1!=NULL)p2=p1;p1=p1->next;p2->next=p3;p3->next=NULL;printf("成功插入,是否继续是(
20、Y) 否( N)n");sel=getch();while(sel='Y'|sel='y');printf("n任意键返回,并存盘 n");getch();return head;/* 查找模块 */void search()short sel;long num;char name20,choose;head=open();if(head=NULL)return;elsedodoprintf("n选择查找方式: n");printf("tt1.按工号查找n");printf("tt2
21、.按姓名查找n");scanf("%d",&sel);getchar();while(sel!=1&&sel!=2);switch(sel)case 1:printf("输入要查的工号: ");scanf("%ld",&num);break;case 2:printf("输入要查的姓名: ");gets(name);break;p1=head;while(p1->next!=NULL)&&(p1->num!=num)&&(strc
22、mp(p1->name,name)!=0)工 号 删除 n");printf("tt2.按姓名删除 n");scanf("%d",&sel);getchar();while(sel!=1&&sel!=2);switch(sel)case 1:printf("输入要删除的工号: ");scanf("%ld",&num);break;case 2:printf("输入要删除的姓名: ");gets(name);break;p1=head;if(p1-&
23、gt;num=num)|strcmp(p1->name,name)=0)head=p1->next;printf("删除信息成功! ");elsewhile(p1->next!=NULL)&&(p1->num!=num)&&(strcmp(p1->name,name)!=0)p2=p1;p1=p1->next;if(p1->num=num)|strcmp(p1->name,name)=0)p2->next=p1->next;free(p1);printf("n删除信息成功!
24、 n");elseprintf("n没有该信息! n");printf("是否继续是( Y) 否( N) n");choose=getch();while(choose='Y'|choose='y');printf("任意键返回 , 并存盘 ");getch();return head;/* 修改模块 */PAY *revise()short sel;long num;char name20,choose;head=open();if(head=NULL)return NULL;elsedod
25、oprintf("n查找要修改的对象: n");printf("tt1.按工号查找 n");printf("tt2.按姓名查找 n");scanf("%d",&sel);getchar();while(sel!=1&&sel!=2);switch(sel)case 1:printf("输入要查的工号: ");scanf("%ld",&num);break;case 2:printf("输入要查的姓名: ");gets(name);break;p1=head;while(p1->next!=NULL)&&(p1->num!=num)&&(strcmp(p1->name,name)!=0)/用 成p1!=NULL有问题p1=p1->next;if(p1->num=num)|strcmp(p1->name,name)=0)printf("您要修改的原始信息如下:n");printf(TITLE);printf(DATA);printf("n将上述信息改为如下信息:n");printf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年数据质押行业全景图与投资机会深度分析
- 2026年川渝可信数据空间建设与国家数据安全流通试点申报
- 福建省龙岩市长汀县重点名校2025-2026学年初三第6次月考化学试题含解析
- 湖州市重点中学2026年初三生物试题下学期第二次质量检测试题含解析
- 2026年河南省登封市大金店镇第二初级中学初三复习质量检测试题化学试题含解析
- 2026届安徽省沿淮教育联盟重点达标名校初三下学期期初检测试题生物试题含解析
- 河北省唐山市古治区重点达标名校2026年3月初三开学考试化学试题含解析
- 吉林大附中力旺实验中学2026届初三年级七校联考化学试题含解析
- 2026届江苏省盐城市建湖县全县第二学期9月月度调研测试初三化学试题含解析
- 江苏省苏州市吴中学区横泾中学2025-2026学年初三第三次联合模拟生物试题含解析
- 中学生地理读图能力培养课题研究中期报告
- 贝叶斯统计在生物医学中的应用-全面剖析
- 时速公里动力集中鼓形电动车组培训设备中车唐山机车车辆
- 离婚合同打印(2025年版)
- 中医药与女性健康调理
- 《康复评定技术》课件-第十一章 步态分析技术
- 转包合同协议书
- 企业常用公文写作培训及案例分析
- ERP沙盘模拟经营知到智慧树章节测试课后答案2024年秋山东青年政治学院
- JBT 8827-1999 机电产品防震包装
- 标书中培训服务方案
评论
0/150
提交评论