# include <stdio.h>
# include <math.h>
# include <string.h>
# include <process.h>
# define SIZE 9
typedef struct tax_st
{
long left;
long right;
int tax;
long deduct;
}TAX_LIST;
void acceptdata(TAX_LIST tax_list[])
{
int i;
for(i=0;i<SIZE;i++)
{
printf("输入数据\n");
scanf("%ld",&tax_list[i].left);
scanf("%ld",&tax_list[i].right);
scanf("%d",&tax_list[i].tax);
scanf("%ld",&tax_list[i].deduct);
}
}
int main()
{
FILE *fp;
TAX_LIST tax_list[SIZE];
if((fp=fopen("TAX.din","wb"))==NULL)
{
printf("打开失败");
exit(1);
}
acceptdata(tax_list);
if((fwrite(tax_list,sizeof(TAX_LIST),SIZE,fp))!=SIZE)
printf("文件出错");
fclose(fp);
return 0;
}
# include <stdio.h>
# include <math.h>
# include <string.h>
# include <process.h>
# define SIZE 9
typedef struct tax_st
{
long left;
long right;
int tax;
long deduct;
}TAX_LIST;
void disp(TAX_LIST tax_list[])
{
double salary,s,tax,ff;
int i;
printf("请输入税前扣除数:");
scanf("%lf",&ff);
printf("请输入月收入:");
scanf("%lf",&salary);
if(salary>=0)
{
s=salary-ff;
if(s<=0)
tax=0;
else
{
for(i=0;i<8;i++)
{
if(s<tax_list[i].right&&s>=tax_list[i].left)
tax=s*tax_list[i].tax/100.-tax_list[i].deduct;
}
if(s>=tax_list[8].left)
tax=s*tax_list[8].tax/100.-tax_list[8].deduct;
}
}
printf("应缴纳个人所得税是%.2lf\n",tax);
}
int main()
{
FILE *fp;
TAX_LIST tax_list[SIZE];
if((fp=fopen("TAX.din","rb"))==NULL)
{
printf("\n打开文件出错\n");
exit(1);
}
if((fread(tax_list,sizeof(TAX_LIST),SIZE,fp))!=SIZE)
{
printf("文件写入出错\n");
exit(1);
}
disp(tax_list);
fclose(fp);
return 0;
}