职工工资条

时间:2024.3.27

?姓名?职工工资条

职工工资条


第二篇:职工工资程序


/*通讯程序*/

/******头文件(.h)***********/

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

#include "ctype.h"

#include "conio.h"

#define M 50

struct moneybook

{

int num; /*职工编号*/

char name[20]; /*职工姓名*/

char bumen[20]; /*所在部门*/

float yinggongzi; /*应发工资*/

float yiliao; /*医疗保险*/

float shigongzi; /*实发工资*/

};

typedef struct moneybook MoneyBook;

int Init(MoneyBook t[]); /*输入信息*/

void List(MoneyBook t[],int n); /*显示信息*/

void SearchOnName(MoneyBook t[],int n); /*根据姓名查询*/ void Searchnum(MoneyBook t[],int n);/*根据职工编号查询*/

int DeleteRecord(MoneyBook t[],int n); /*删除信息*/

int AlterRecord(MoneyBook t[],int n);/*修改信息*/

int AddRecord(MoneyBook t[],int n);/*增加*/

void SortOnshigongzi(MoneyBook t[],int n); /*实际工资从小到大排序*/

void Fanwei(MoneyBook t[],int n); /*根据工资范围查*/

void SaveRecord(MoneyBook t[],int n);

int LoadRecord(MoneyBook t[]);

int Menu_select();

void main()

{

MoneyBook mo[M];

int length;

system("cls");

while(1)

{

switch(Menu_select())

{

case 1: length=Init(mo);

SaveRecord(mo,length);

break;

case 2:length=LoadRecord(mo); List(mo,length);

break;

case 3:length=LoadRecord(mo);

SearchOnName(mo,length); getchar();

break;

case 4:length=LoadRecord(mo);

length=DeleteRecord(mo,length); SaveRecord(mo,length); break;

case 5:length=LoadRecord(mo);

length=AlterRecord(mo,length); SaveRecord(mo,length); break;

case 6:length=LoadRecord(mo);

length=AddRecord(mo,length); SaveRecord(mo,length); break;

case 7:length=LoadRecord(mo);

SortOnshigongzi(mo,length); SaveRecord(mo,length);

getchar();

List(mo,length);

getchar();

break;

case 8:length=LoadRecord(mo);

Fanwei(mo,length);

getchar(); getchar();

SaveRecord(mo,length);

// List(mo,length);

break;

case 0:exit(0); /*如返回值为0则程序结束*/ } }

}

/*菜单函数,函数返回值为整数,代表所选的菜单项*/ int Menu_select()

{

int c;

system("cls");

printf("********************************MENU***************

******************\n\n");

printf(" 1. 录入初始记录\n");

printf(" 2. 显示所有记录\n");

printf(" 3. 按姓名查找记录\n");

printf(" 4. 删除记录\n");

printf(" 5. 修改信息\n");

printf(" 6. 增加记录\n");

printf(" 7. 按实际工资排序\n");

printf(" 8. 按实际工资范围查询\n");

printf(" 0. 退出\n");

printf("*********************************************************************\n");

do{

printf("\nEnter your choice(0-8):");

scanf("%d",&c);

getchar();

}while(c<0||c>8);

return c;

}

int Init(MoneyBook t[])

{

int i,n;

system("cls");

printf("\n请输入要输入的记录数:\n"); scanf("%d",&n);

printf("开始输入记录:\n");

for(i=0;i<n;i++)

{ system("cls");

printf("\n第%d条记录的职工编号:",i+1); scanf("%d",&t[i].num);

printf("第%d条记录的职工姓名:",i+1); scanf("%s",t[i].name);

printf("第%d条记录的职工所在部门:",i+1); scanf("%s",t[i].bumen);

printf("第%d条记录的职工应发工资:",i+1); scanf("%f",&t[i].yinggongzi); printf("第%d条记录的医疗保险:",i+1); scanf("%f",&t[i].yiliao);

}

return (n);

}

void List(MoneyBook t[],int n)

{

int i;

system("cls");

printf("\n\n*********************************MONEY***********************************\n");

printf("职工编号 职工姓名 所在部门 应发工资 医疗保险 实发工资\n");

printf("---------------------------------------------------------------------------\n");

for(i=0;i<n;i++)

{ printf("%-15d%-10s%-8s",t[i].num,t[i].name,t[i].bumen); printf("%-14.2f", t[i].yinggongzi);

printf("%-10.2f", t[i].yiliao);

t[i].shigongzi=t[i].yinggongzi-t[i].yiliao;

printf("%-10.2f\n", t[i].shigongzi);

if((i+1)%10==0)

{

printf("Press any key continue...\n");

getchar();

}

}

printf("\n************************************end***********************************\n");

getchar();

}

/*查找记录*/

void SearchOnName(MoneyBook t[],int n)

{

char s[20];

int i,flag=0;

system("cls");

printf("请输入要查找的姓名:\n");

scanf("%s",s);

for(i=0;i<n;i++)

{

if(strcmp(s,t[i].name)==0)

{ flag=1;

/* clrscr();*/

printf("\n\n此人的信息如下:\n");

printf("\n\n*********************************MONEY***********************************\n");

printf("职工编号 职工姓名 所在部门 应发工资 医疗保险 实发工资\n");

printf("---------------------------------------------------------------------------\n");

printf("%-15d%-10s%-8s",t[i].num,t[i].name,t[i].bumen); printf("%-14.2f", t[i].yinggongzi);

printf("%-10.2f", t[i].yiliao);

t[i].shigongzi=t[i].yinggongzi-t[i].yiliao;

printf("%-10.2f\n", t[i].shigongzi);

printf("\n************************************end***********************************\n");

}

getchar();

}

if(flag==0)

printf("查无此人!!\n");

}

int DeleteRecord(MoneyBook t[],int n)

{ int s;

char ch='N';

int i,j,flag=0;

system("cls");

printf("请输入要删除的职工编号\n");

scanf("%d",&s);

for(i=0;i<n;i++)

{

if(s==t[i].num)

{ flag=1;

system("cls");

printf("职工编号 职工姓名 所在部门 应发工资 医疗保险 实发工资\n");

printf("---------------------------------------------------------------------------\n");

printf("%-15d%-10s%-8s",t[i].num,t[i].name,t[i].bumen); printf("%-14.2f", t[i].yinggongzi);

printf("%-10.2f", t[i].yiliao);

t[i].shigongzi=t[i].yinggongzi-t[i].yiliao;

printf("%-10.2f\n", t[i].shigongzi);

printf("\n************************************end***********************************\n");

printf("Are you sure delete it(Y/N)\n");

ch=getchar();

ch=getchar(); if (ch=='y'||ch=='Y')

{

for(j=i;j<n-1;j++) t[j]=t[j+1]; } n--; i--; }

}

if(flag==0)

printf("查无此人!!\n");

getchar();

return n;

}

/*修改记录*/

int AlterRecord(MoneyBook t[],int n)

{

int m;

int i,b;

system("cls");

printf("请输入要修改的职工编号\n");

scanf("%d",&m);

for(i=0;i<n;i++)

{

if(m==t[i].num)

{

system("cls");

printf("职工编号 职工姓名 所在部门 应发工资 医疗保险 实发工资\n");

printf("---------------------------------------------------------------------------\n");

printf("%-15d%-10s%-8s",t[i].num,t[i].name,t[i].bumen); printf("%-14.2f", t[i].yinggongzi);

printf("%-10.2f", t[i].yiliao);

t[i].shigongzi=t[i].yinggongzi-t[i].yiliao;

printf("%-10.2f\n", t[i].shigongzi);

printf("\n************************************end***********************************\n");

printf("请输入要修改第几项:");

scanf("%d",&b);

if (b==1)

{ printf("\n请输入新的数据\n");

scanf("%d",&t[i].num);

printf("\n修改后的数据为\n");

printf("职工编号 职工姓名 所在部门 应发工资 医疗保险 实发工资\n");

printf("%-15d%-10s%-8s",t[i].num,t[i].name,t[i].bumen); printf("%-14.2f", t[i].yinggongzi);

printf("%-10.2f", t[i].yiliao);

t[i].shigongzi=t[i].yinggongzi-t[i].yiliao;

printf("%-10.2f\n", t[i].shigongzi);

printf("\n************************************end***********************************\n");

}

else if(b==2)

{ printf("\n请输入新的数据\n");

scanf("%s",t[i].name);

printf("\n修改后的数据为\n");

printf("职工编号 职工姓名 所在部门 应发工资 医疗保险 实发工资\n");

printf("---------------------------------------------------------------------------\n");

printf("%-15d%-10s%-8s",t[i].num,t[i].name,t[i].bumen); printf("%-14.2f", t[i].yinggongzi);

printf("%-10.2f", t[i].yiliao);

t[i].shigongzi=t[i].yinggongzi-t[i].yiliao;

printf("%-10.2f\n", t[i].shigongzi);

printf("\n************************************end***********************************\n");

}

}

return n;

}

int AddRecord(MoneyBook t[],int n)

{ }

int i,m;

system("cls");

printf("\n请输入在增加的记录数:\n"); scanf("%d",&m);

printf("开始追加记录\n");

for(i=n;i<n+m;i++)

{ system("cls");

printf("\n第%d条记录的职工编号:",i+1); scanf("%d",&t[i].num);

printf("第%d条记录的职工姓名:",i+1); scanf("%s",t[i].name);

printf("第%d条记录的职工所在部门:",i+1); scanf("%s",t[i].bumen);

printf("第%d条记录的职工的应发工资:",i+1); scanf("%f",&t[i].yinggongzi);

printf("第%d条记录的医疗保险:",i+1); scanf("%f",&t[i].yiliao);

}

return (n+m);

}

void SortOnshigongzi(MoneyBook t[],int n) { int i,j;

MoneyBook temp;

for(j=1;j<n;j++)

for(i=0;i<n-j;i++)

{if(t[i].shigongzi>t[i+1].shigongzi) /*比较大小*/ {

temp=t[i];

t[i]=t[i+1];

t[i+1]=temp;

}

}

printf("排序成功!!!\n");

}

/*按职工实际工资范围查询*/

void Fanwei(MoneyBook t[],int n)

{

float m,w;

int i,flag=0;

system("cls");

printf("请输入要查询的范围");

scanf("%f%f",&m,&w);

for(i=0;i<n;i++)

{ if ((t[i].shigongzi>=m)&&(t[i].shigongzi<=w))

{flag=1;

printf("\n\n*********************************MONEY***********************************\n");

printf("职工编号 职工姓名 所在部门 应发工资 医疗保 险实发工资\n");

printf("---------------------------------------------------------------------------\n");

printf("%-15d%-10s%-8s",t[i].num,t[i].name,t[i].bumen); printf("%-14.2f", t[i].yinggongzi);

printf("%-10.2f", t[i].yiliao);

t[i].shigongzi=t[i].yinggongzi-t[i].yiliao;

printf("%-10.2f\n", t[i].shigongzi);

printf("\n*********************************end***********************************\n");

}

} if(flag==0)

printf("未找到该范围内记录!!");

}

/*保存函数,参数为结构体数组和记录数*/

void SaveRecord(MoneyBook t[],int n)

{

int i;

FILE *fp; /*指向文件的指针*/

if((fp=fopen("d://1.txt","w"))==NULL)

{

printf("can not open file\n");

exit(1);

}

fprintf(fp,"%d",n);

fprintf(fp,"\r\n");

for(i=0;i<n;i++)

{

fprintf(fp," %-15d%-10s%-8s",t[i].num,t[i].name,t[i].bumen); fprintf(fp,"%-14.2f", t[i].yinggongzi);

fprintf(fp,"%-10.2f", t[i].yiliao);

t[i].shigongzi=t[i].yinggongzi-t[i].yiliao;

fprintf(fp,"%-10.2f\n", t[i].shigongzi);

fprintf(fp,"\r\n");

}

fclose(fp);/*关闭文件*/

}

/*读入函数,参数为结构体数组*/

int LoadRecord(MoneyBook t[])

{

int i,n;

FILE *fp;

if((fp=fopen("d://1.txt. ","r"))==NULL)

{

printf("can not open file\n");

exit(1);

}

fscanf(fp,"%d",&n);

for(i=0;i<n;i++)

fscanf(fp,"%-15d%-10s%-8s",&t[i].num,t[i].name,t[i].bumen); fscanf(fp,"%-14.2f",&t[i].yinggongzi);

fscanf(fp,"%-10.2f",&t[i].yiliao);

fscanf(fp,"%-10.2f",&t[i].shigongzi);

fclose(fp);

printf("从文件中成功读出记录!!!\n");

return n; }

更多相关推荐:
员工工资表范本

员工工资表范本,内容附图。

企业一般人员工资表样本

企业一般人员工资表公司员工工资统计表经理会计厂长科长组长班长

员工岗位工资表范例一

员工岗位工资表范例一

工资表范本

20xx20xx03

工资表范本

工资表月部门姓名工作日数基本工资提成假日津贴全勤奖金加班津贴本期工资份页扣除部分实发工资福利金伙食费所得税借支合计总经理经理会计填表

事业单位职工工资表(填写后)

事业单位职工工资表20xx年月日

爱家超市职工工资表

爱家超市职工工资表年月日

工资表样本

公司年月份工资表经理签字日期

香港公司工资表(香港工资表、工资条、员工薪俸表)参考样本

香港会计事务所在香港给员工发放薪水后一般地都需要员工签署一份工资表签署证明香港公司工资表备存后有如下的用途123发放工资的证明财年结束后做账的材料申报雇主薪俸税表格IR56B的历史数据参考如下是香港公司工资表参...

月工资表-范本

门店管理手册专用表格603专卖店月工资表制表人制表日期

工资表范本

重庆XX机械配件有限公司工资表人员晋升调岗核定表年月日员工花名册

企业一般人员工资表

企业一般人员工资表公司员工工资统计表经理会计厂长科长组长班长

职工工资表范本(7篇)