【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);
}

运行结果如下:

经验分享 程序员 微信小程序 职场和发展