内容发布更新时间 : 2024/12/23 22:01:34星期一 下面是文章的全部内容请认真阅读。
# include
# include
int i; //计数,全局变量 typedef struct employee {
char num[10]; //保存职工编号 char name[15]; //保存职工姓名 float jbgz; //保存职工基本工资 float jj; //保存职工奖金 float kk; //保存职工扣款 float yfgz; //保存职工应发工资 float sk; //保存职工税款
float sfgz; //保存职工实发工资 }ZGGZ;
void printheader( ) //函数用于在以表格形式显示记时,打印输出表头信息。 {
printf(\ ________欢迎使用工资管理系统________\\n\
printf(\ EMPLOYEE SYSTEM\\n\}
void menu( ) //函数用于显示主菜单,共有0-9个选择。 {
printf(\printf(\ record\\t * 2 delete record\\n\printf(\ record\\t * 4 modify record\\n\printf(\ record\\t * 6 count record\\n\printf(\ record\\t * 8 save record\\n\printf(\ record\\t * 0 quit system\\n\
printf(\}
void disp(ZGGZ tp[],int n)//函数用于显示数组中存储的n条记录,内容为emplyee中的内容。 {
if(n==0) printf(\系统内无任何职工信息!\\n\else
printf(\
********\\n\ printf(\职工编号 姓名 基本工资 奖金 扣款 应发工资 税款 实发工资\\n\
printf(\********\\n\ for(i=0;i printf(\p[i].jj,tp[i].kk,tp[i].yfgz,tp[i].sk,tp[i].sfgz); } printf(\********\\n\ } int add(ZGGZ tp[],int n) //在数组tp中增加工资记录元素 { float f=0.0; char num1[100]; //暂时存放员工编号 while(1) { printf(\请输入职工编号(输入0返回主菜单):\\n\ scanf(\ if(!(strcmp(num1,\return n; for(i=0;i if(!(strcmp(tp[i].num,num1))) break; } if(i char c; //关于是否重新输入的变量 printf(\此员工信息已存在,是否继续录入?(输入y继续录入信息,输入n返回主菜单)\\n\getchar(); scanf(\if(c=='y'||c=='Y') continue; else return n; } strcpy(tp[n].num,num1); //判断结束,进行录入 printf(\请输入职工姓名:\\n\scanf(\ printf(\请输入职工基本工资:\\n\scanf(\ printf(\请输入职工奖金:\\n\scanf(\ printf(\请输入职工扣款:\\n\scanf(\ tp[n].yfgz=tp[n].jbgz+tp[n].jj-tp[n].kk; tp[n].sk=0.2*tp[n].yfgz; tp[n].sfgz=tp[n].yfgz-tp[n].sk; n++; } return n++; } int del(ZGGZ tp[],int n)//函数用于先在数组tp中找到满足条件的记录,然后删除该记录。 { char z1[100]; int t; int z; if(n==0) { } printf(\系统内无任何职工信息,无法删除!\\n\return n; else { printf(\请确定删除方式:编号删除请输入1,姓名删除请输入2!\\n\ } scanf(\if(z==1) { } printf(\请输入需要删除的编号:\scanf(\ if(z==2) { printf(\请输入需要删除的姓名:\ } scanf(\ t=locate(tp,n,z1,z); if(t==n) { printf(\无此职工信息!\\n\} else { for(i=t;i strcpy(tp[i].num,tp[i+1].num); strcpy(tp[i].name,tp[i+1].name); tp[i].jbgz=tp[i+1].jbgz; tp[i].jj=tp[i+1].jj;