| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1245 人关注过本帖
标题:求解。
只看楼主 加入收藏
tactile
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-3-21
收藏
 问题点数:0 回复次数:12 
求解。
题目是这样的:
 询问员工一周上了多少小时班,一小时10元。询问雇员是否加班,如果是,加班费为15元。计算雇员的应缴税并在总工资扣除。假定报酬小于等于300元,扣10%税,
如果大于500小于等于1000,扣15%税,大于1000,扣25%税。计算雇员总收入和纯收入。

这道题我的锥形是这样的,不过总是错误。我打算if语句和switch语句一起使用。希望有人指导出我程式错误之处
#include <stdio.h>
 main()
{
  float hour,m=10,ot=15;
  float sum,sum1,sum2,sum3,s;
  char y;
   s=hour*m;
   sum=hour*(m+ot);
   sum1=sum*0.1;
   sum2=sum*0.15;
   sum3=sum*0.25;
  printf("请输入你的工时:\n");
   scanf("%d",&hour);
  printf("是否加班?y or n\n");
 switch(y)
 {
  case 'y':
             if(sum<=300)
             printf("你的收入为%f\n",sum1);
             {
              if(sum>500&&sum<=1000)
             printf("你的收入为%f\n",sum2);
              if(sum>1000)
             printf("你的收入为%f\n",sum3);
             }
   case 'n' : printf("你的收入为%f\n",s);
   default : printf("error");      
 }
}
搜索更多相关主题的帖子: 求解 
2008-05-18 16:22
wltysy
Rank: 1
等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
收藏
得分:0 
y    n
2008-05-18 16:45
wltysy
Rank: 1
等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
收藏
得分:0 
2008-05-18 17:17
zhuwei168
Rank: 1
来 自:东软信息学院
等 级:新手上路
帖 子:180
专家分:0
注 册:2008-2-13
收藏
得分:0 
给你提示吧
像这种题用if的话
应该用if嵌套的
像if
else if
else if
else if
如果是switch的话更简单点,先用求余把条件变成0-9以内的整数
再进行写switch条件
2008-05-18 19:01
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
#include <stdio.h>
#include <conio.h>    //在TC下这个可以不包含

main()
{
    int hour = 0;
    printf("你一周上了多少小时班?\n");
    scanf("%d", &hour);
    printf("是否加班?y=是, n=否\n");
    char sel = getch();
    
    float total = 0.f;
    switch(sel)
    {
    case 'y':
        total = float(hour) * 10.f + 15.f;
        break;
    case 'n':
        total = float(hour) * 10.f;
        break;
    default:
        printf("出错啦~~\n");
        return;
    }
    float tariff = 0;
    if(total <= 300.f) tariff = total * 0.1f;
    else if(total > 300.f && total <=1000.f) tariff = total * 0.15f;
    else tariff = total * 0.25;
    
    printf("税前纯工资: %.2f, 应缴%.2f元税, 税后工资 %.2f\n", total, tariff, total - tariff);
}

让我们为生者祝福,为死者祈祷!

[[it] 本帖最后由 flyue 于 2008-5-18 19:41 编辑 [/it]]

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-18 19:29
wltysy
Rank: 1
等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
收藏
得分:0 
不行啊,我也想了这题目,但也得不出正确结果!代码如下:
#include <stdio.h>
main()
{
  float hour,m=10.0,ot=15.0;
  float sum,sum1,sum2,sum3,s;
  char l;
  printf("gongshi\n");
  scanf("%f",&hour);
  s=hour*m;
  sum=hour*m;
  sum1=sum*0.9;
  sum2=sum*0.85;
  sum3=sum*0.75;
  printf("jiaban?y or n\n");
  scanf("%c",&l);
  switch(l)
  { case 'y':
                sum+=ot;
                break;
    case 'n':
                printf("s=%f\n",s);
                break;           
                default:printf("error!");
  }
  if(sum<=300) printf("shouru=%f\n",sum1);
  if(sum>=500&&sum<=1000) printf("shouru=%f\n",sum2);
  if(sum>1000) printf("shouru=%f\n",sum3);
}
2008-05-18 20:44
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
如果我没有猜错的话,题目描述本身就错了

[color=white]
2008-05-18 20:46
wltysy
Rank: 1
等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
收藏
得分:0 
怎么说?我上面的代码算不出正确结果来!加班不加班都没把那15块钱加进去!
2008-05-18 20:48
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
题目的原意肯定是像收税那样,分段计算,而非像以上代码那般

[color=white]
2008-05-18 23:01
tactile
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-3-21
收藏
得分:0 
我也做不到,有人愿意出手相助吗
2008-05-19 00:14
快速回复:求解。
数据加载中...
 
   



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

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