zoukankan      html  css  js  c++  java
  • c中const定义的问题

    /*


    这题有个疑问:
    const double BASE1=BREAK1*RATE1; //第二个分界点前总共要缴的税收
    const double BASE2=BASE1+(BREAK2-BREAK1)*RATE2; //第三个分界点前总共要缴的税收
    为什么只有移到子函数里面有用,放开头提示错误!提示:initializer is not a constant

    */
    #include<stdio.h>

    const double HOURLYPAID=10; //每个小时的薪水
    const double TIMEBREAK=40; //工时的分界点
    const double COEFFICIENT=1.5; //工时的系数
    const double RATE1=0.15; //税率
    const double RATE2=0.2; //税率
    const double RATE3=0.25; //税率
    const double BREAK1=300; //税收分界点
    const double BREAK2=600; //税收分界点

    //const double BASE1=BREAK1*RATE1; //第二个分界点前总共要缴的税收
    //const double BASE2=BASE1+(BREAK2-BREAK1)*RATE2; //第三个分界点前总共要缴的税收


    void choose_1();
    void stars();
    int choose_screen();

    int main(void)
    {
    int i = 0;

    while(i!=5)
    {

    i = choose_screen();
    switch(i)
    {
    case 1:
    case 2:
    case 3:
    case 4:choose_1();continue;
    case 5:printf("谢谢使用 ");break;
    default:
    printf("输入错误,请输入1~5的整数");

    }


    }


    return 1;
    }


    int choose_screen()
    {
    int i;

    stars();
    printf("请选择工资等级,退出请按5 ") ;

    printf("1)$8.75/hr 2)$9.33/hr ");
    printf("3)$10.00/hr 4)$11.20/hr ");
    printf("5)quit ");

    stars();

    scanf("%d",&i);

    return i;

    }


    void stars()
    {
    printf("************************************************* ");

    }


    void choose_1()
    {
    const double BASE1=BREAK1*RATE1; //第二个分界点前总共要缴的税收
    const double BASE2=BASE1+(BREAK2-BREAK1)*RATE2; //第三个分界点前总共要缴的税收

    double time; //工时
    double salary; //总收入
    double tax; //税收
    double profit; //净利润

    printf("请输入一周的工作小时数: ");
    scanf("%lf", &time);

    if(time>TIMEBREAK) //如果工作时间超过40个小时
    time=(time-TIMEBREAK)*COEFFICIENT+TIMEBREAK;

    salary=HOURLYPAID*time;

    if(salary<=BREAK1)
    tax=salary*RATE1;
    else if(salary<=BREAK2)
    tax=BASE1+(salary-BREAK1)*RATE2;
    else
    tax=BASE2+(salary-BREAK2)*RATE3;

    profit=salary-tax;

    printf("工资总额是: %lf ", salary);
    printf("税金是: %lf ", tax);
    printf("净工资是: %lf ", profit);

    }

     //******************************************************************

     这三种情况是可以的,const static xxxxx;不行

    //......................................................

    //.....................................................

    //编辑器用的是http://www.pc6.com/softview/SoftView_51072.html下载的

     因为编辑器不支持c99标准。--之后知道的

  • 相关阅读:
    Sharepoint学习笔记—习题系列--70-576习题解析 -(Q36-Q39)
    Sharepoint学习笔记—习题系列--70-576习题解析 -(Q32-Q35)
    Sharepoint学习笔记—习题系列--70-576习题解析 -(Q29-Q31)
    Sharepoint学习笔记—习题系列--70-576习题解析 -(Q25-Q28)
    Sharepoint学习笔记—习题系列--70-576习题解析 -(Q21-Q24)
    Sharepoint学习笔记—习题系列--70-576习题解析 -(Q19-Q20)
    Sharepoint学习笔记—习题系列--70-576习题解析 -(Q16-Q18)
    Sharepoint学习笔记—习题系列--70-576习题解析 -(Q13-Q15)
    c# 操作excel 替代方案
    c# 字体安装
  • 原文地址:https://www.cnblogs.com/zxj-262410/p/6571691.html
Copyright © 2011-2022 走看看