首页 > 其他 > 详细

7.12.8

时间:2019-04-25 22:38:51      阅读:148      评论:0      收藏:0      [点我收藏+]

技术分享图片

#  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语句怎么写?

7.12.8

原文:https://www.cnblogs.com/EisNULL/p/10771532.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!