搜索
查看: 1295|回复: 2
打印 上一主题 下一主题

这代码哪出问题了,怎么编译不出???

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-25 14:46:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main ()
{
  float  income ,tax;/* income月收入   tax税收 */
        printf("请输入月收入 :");
        scanf("%f",&income);
        printf("%f,%f",income ,tax);
        switch (income>0)
        {
            case (income>800&&income<=2000) :
                        tax =(income-800)*0.2;
            case (income>2000) :
                        tax =(2000-800)*0.2+(income-2000)*0.4;
            default :
                        tax ==0;                          
        }
  printf("%f",tax);/*  月收入应交的税收是tax  */
system("pause");
return 0;
}
这代码哪出问题了,怎么编译不出???

最佳答案

查看完整内容

switch后面加的只能是整型或字符型(本质上也是整型)变量(或表达式),case后面加以上两种类型的常量(表达式) switch-case具体用法可参考:http://wenku.baidu.com/view/db4f8b0a581b6bd97f19eaac.html 以下是一种改法
沙发
发表于 2013-8-25 14:46:12 | 只看该作者
本帖最后由 981013 于 2013-8-25 15:29 编辑

switch后面加的只能是整型或字符型(本质上也是整型)变量(或表达式),case后面加以上两种类型的常量(表达式)
switch-case具体用法可参考:http://wenku.baidu.com/view/db4f8b0a581b6bd97f19eaac.html
以下是一种改法
[code=Cpp width=740px]
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main ()
{
  float  income ,tax;/* income月收入   tax税收 */
        printf("请输入月收入 :");
        scanf("%f",&income);
        printf("%f,%f",income ,tax);
        if(income>0)
        {
            if (income>800&&income<=2000)
                        tax =(income-800)*0.2;
            else if (income>2000)
                        tax =(2000-800)*0.2+(income-2000)*0.4;
            else
                        tax ==0;
        }
  printf("%f",tax);/*  月收入应交的税收是tax  */
system("pause");
return 0;
}
[/code]
板凳
发表于 2013-8-25 15:24:37 | 只看该作者
因为switch不是这么用的
另外不要用float

printf("%f,%f",income ,tax);
这句是干什么的?debug?

点评

对,我也很疑惑这一句。没用的句子  发表于 2013-9-1 10:09
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表