7.12.8

7.12.8

include <stdio.h>

define over_time 1.5 * 10

define three_hundred_rate 0.15

define one_hundred_half_rate 0.2

define more_then_four_hun_half_rate 0.25

define three_hundred 45

define four_hundred_half 75

float rate(float n);
int main(void)
{
float hours;
float wage;
float basic_wage = 0;
int grade;

while (1)
{
printf("\n");
printf("Enter the number corresponding to the desired pay rate or action:\n");
printf("1) $8.75/hr 2) $9.33/hr\n");
printf("3) $10.00/hr 4) $11.20/hr\n");
printf("5) quit \n");
printf("
\n");

if (scanf("%d", &grade) == 1)
{
switch (grade)
{
case 1:
basic_wage = 8.75;
break;
case 2:
basic_wage = 9.33;
break;
case 3:
basic_wage = 10.00;
break;
case 4:
basic_wage = 11.20;
break;
case 5:
goto quit;
}

printf("basic_wage is %f\n", basic_wage);
printf("请输入工作时长:");
scanf("%f", &hours);
if (( hours <= (float)40) && (hours >= 0))
wage = basic_wage * hours;
else
wage = basic_wage * 40 + (hours - (float)40) * over_time;
printf("工资总额:%.2f,税金:%.2f,净收入:%.2f\n",
wage, rate(wage), wage - rate(wage));
}
else
printf("请输入正确选项!\n");
}
quit: printf("再见!\n");
return 0;
}

float rate(float n) // 函数定义
{
float tax;
if (n <= 300)
tax = three_hundred_rate * n;
else if (n <= 450)
tax = three_hundred + (n - (float)300) * one_hundred_half_rate;
else
tax = four_hundred_half + (n - (float)450) * more_then_four_hun_half_rate;

return tax; // 返回tax的值
}

在其中使用了goto语句,如果不使用goto语句怎么写?

posted on 2019-04-25 22:27  viviLy  阅读(142)  评论(0)    收藏  举报