【C Primer Plus】第一次记录自己写的代码
编写一个程序,提示用户输入一周工作的小时数,然后打印工资总额、税金和净收入。 1.基本工资 。2.加班(超过40小时)= 1.5倍时间。3.税率:前300美金为15%,续150美元为20%,余下的为25%。
使用switch完成基本工资等级选择。如果选择1~4其中的一个数字,程序应该询问用户工作的小时数。程序要通过循环运行,除非用户输入5。
#include <stdio.h>
#define RATE1 0.15
#define RATE2 0.20
#define RATE3 0.25
#define EXTRA 1.5
#define N1 8.75
#define N2 9.33
#define N3 10.00
#define N4 11.20
void work(int base);
int main()
{
int n,k=1;
while(k==1)
{
printf("Enter the number corresponding to the desired pay rate or action:
");
printf("(1)$8.75/hr
");
printf("(2)$9.33/hr
");
printf("(3)$10.00/hr
");
printf("(4)$11.20/hr
");
printf("(5)quit
");
scanf("%d",&n);
switch(n)
{
case 1:
work(N1);
break;
case 2:
work(N2);
break;
case 3:
work(N3);
break;
case 4:
work(N4);
break;
case 5:
k=0;
break;
default:
printf("Please enter true number:
");
}
}
return 0;
}
void work(int base)
{
float t,salary,tax;
printf("Please enter your working hours a week:");
scanf("%f",&t);
if(t<=40)
salary=t*base;
else
salary=base*40+EXTRA*(t-40);
if(salary<=300)
tax=salary*RATE1;
else if(salary<=450)
tax=RATE1*300+RATE2*(salary-300);
else
tax=RATE1*300+RATE2*150+RATE3*(salary-450);
printf("salary:%f tax:%f income:%f
",salary,tax,salary-tax);
}
运行结果如下:
