• 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("*****************************************************************
    ");
        printf("Enter the number corresponding to the desired pay rate or action:
    ");
        printf("1) $8.75/hr                     2) $9.33/hr
    ");
        printf("3) $10.00/hr                    4) $11.20/hr
    ");
        printf("5) quit                                     
    ");
        printf("*****************************************************************
    ");
    
            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
    ", 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
    ",
                        wage, rate(wage), wage - rate(wage));
            }
            else
                 printf("请输入正确选项!
    ");
        }
        quit: printf("再见!
    ");
        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语句怎么写?

  • 相关阅读:
    You Don't Know JS: Async & Performance(第2章,Callbacks)
    You Don't Know JS: this & Object Prototypes (第6章 Behavior Delegation)附加的ES6 class未读
    C#抓取网页内容
    输出jq对象
    ASP.NET MVC 常用内置验证特性
    MVC不错的学习资料
    让Entity Framework启动不再效验__MigrationHistory表
    多线程
    递归
    序列化
  • 原文地址:https://www.cnblogs.com/EisNULL/p/10771532.html
Copyright © 2020-2023  润新知