标题:这是一个求税收的switch 函数 求大佬帮我看一下我哪里写错了 不管输入什么 ...
只看楼主
tuboshu6
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-12-4
结帖率:100%
已结贴  问题点数:20 回复次数:5 
这是一个求税收的switch 函数 求大佬帮我看一下我哪里写错了 不管输入什么都是0.00
#include <stdio.h>
double calTaxt(double  number);
int main()
{   double z=0,m ;
    printf("请输入您本月的收入总额(元):");  
    scanf("%lf", &m);
    calTaxt(m);
    printf("您需要交税:%.2lf\n", z);
    return 0;

}
double calTaxt(double  number)
{  
    double m, z;
    double y ;   //表示超出起征点的收入   
    int f;      
     y=m-3500;  
    if( y<= 0.0)  
        z=0;
    else  
    {   
        if( y <= 1500)  
            f = 1;  
        else if(y <= 4500)  
            f= 2;  
        else if(y <= 9000)  
            f= 3;  
        else if(y <= 35000)  
            f= 4;  
        else if(y <= 55000)  
            f= 5;  
        else if(y <= 80000)  
            f= 6;  
        else  
            f= 7;  
   
        switch(f)  
        {         
        case 1:  z=y*0.03; break;  
        case 2:  z=y*0.10-105;break;  
        case 3:  z=y*0.20-555; break;  
        case 4:  z=y*0.25-1005; break;  
        case 5:  z=y*0.30-2755; break;  
        case 6:  z=y*0.35-5505; break;  
        case 7:  z=y*0.45-13505;   
        }  
    }
      return z ;
}
搜索更多相关主题的帖子: switch double if case break 
2017-12-04 11:10
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
得分:20 
程序代码:
double calTaxt(double  number)
{ 

    double m, z;
    double y ;   //表示超出起征点的收入 
程序代码:
    int f;     

     y=m-3500;  
2017-12-04 11:25
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
得分:0 
m=?
2017-12-04 11:26
tuboshu6
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-12-4
得分:0 
回复 3楼 虫眼
m是收入    y是计划纳税额:收入-3500
z是纳税额

2017-12-04 11:33
tuboshu6
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-12-4
得分:0 
回复 3楼 虫眼
好了 我知道哪里写错了
#include <stdio.h>
double calTaxt(double  number);
int main()
{   double z,m ;
    printf("请输入您本月的收入总额(元):");  
    scanf("%lf", &m);
    z=calTaxt(m);
    printf("您需要交税:%.2lf\n", z);
    return 0;

}
double calTaxt(double  number)
{  
    double z;
    double y ;   //表示超出起征点的收入   
    int f;      
     y=number-3500;  
    if( y<= 0.0)  
        z=0;
    else  
    {   
        if( number <= 1500)  
            f = 1;  
        else if(number <= 4500)  
            f= 2;  
        else if(number <= 9000)  
            f= 3;  
        else if(number <= 35000)  
            f= 4;  
        else if(number <= 55000)  
            f= 5;  
        else if(number <= 80000)  
            f= 6;  
        else  
            f= 7;  
   
        switch(f)  
        {         
        case 1:  z=number*0.03; break;  
        case 2:  z=number*0.10-105;break;  
        case 3:  z=number*0.20-555; break;  
        case 4:  z=number*0.25-1005; break;  
        case 5:  z=number*0.30-2755; break;  
        case 6:  z=number*0.35-5505; break;  
        case 7:  z=number*0.45-13505;   
        }  
    }
      return z ;
}
2017-12-04 11:43
tuboshu6
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2017-12-4
得分:0 
不对  应该这样
#include <stdio.h>
double calTaxt(double  number);
int main()
{   double z,m ;
    printf("请输入您本月的收入总额(元):");  
    scanf("%lf", &m);
    z=calTaxt(m);
    printf("您需要交税:%.2lf\n", z);
    return 0;

}
double calTaxt(double  number)
{  
    double z;
    double y ;   //表示超出起征点的收入   
    int f;      
     y=number-3500;  
    if( y<= 0.0)  
        z=0;
    else  
    {   
        if( y <= 1500)  
            f = 1;  
        else if( y <= 4500)  
            f= 2;  
        else if( y <= 9000)  
            f= 3;  
        else if( y <= 35000)  
            f= 4;  
        else if( y <= 55000)  
            f= 5;  
        else if( y <= 80000)  
            f= 6;  
        else  
            f= 7;  
   
        switch(f)  
        {         
        case 1:  z=y*0.03; break;  
        case 2:  z=y*0.10-105;break;  
        case 3:  z=y*0.20-555; break;  
        case 4:  z=y*0.25-1005; break;  
        case 5:  z=y*0.30-2755; break;  
        case 6:  z=y*0.35-5505; break;  
        case 7:  z=y*0.45-13505;   
        }  
    }
      return z ;
}
2017-12-04 11:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483088-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.155994 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved