| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 597 人关注过本帖
标题:大家帮我找下错误,非常感谢!
只看楼主 加入收藏
wangxian025
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
大家帮我找下错误,非常感谢!
  企业发放的奖金根据利润提成。利润I低于10万时,奖金提成10%,利润高于10万低于20万时其中10万元按10%提成,高于的按7.5%提成;,利润高于20万低于40万时其中的20万按上诉方法提成(下同)高于20万的部分按5%提成;利润在40万到60万时高于40万的部分按3%提成;利润在60万与100万时高于60万的部分按1.5%提成;当利润高于100万时按1%提成。键盘输入利润I求发放奖金总数。
 
这是我的解题过程
#include "stdio.h"
void main(){
    double I,jiangjing,x;
    printf("利润:\n");
        scanf("%d",I);

    if (I<=100000) x=I*0.1;
    else if (I<=200000&&I>100000) x=10000+(I-100000)*0.075;
    else if (I<=400000&&I>200000) x=10000+7500+(I-200000)*0.05;
    else if (I<=600000&&I>400000) x=10000+7500+200000*0.05+(I-400000)*0.03;
    else if (I<=1000000&&I>600000) x=10000+7500+200000*0.08+(I-600000)*0.015;
    else if (I>1000000) x=10000+7500+200000*0.08+400000*0.015+(I-1000000)*0.01;
        jiangjing=x;
        printf ("应发放奖金的数目:\n%d\n ",jiangjing);
}
不知道为什么老是不能运行,请大家指点一下,非常感谢!、

---------------Configuration: wangxian - Win32 Debug--------------------
Compiling...
wangxian.cpp
D:\c\wangxian.cpp(7) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
D:\c\wangxian.cpp(8) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
D:\c\wangxian.cpp(9) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
D:\c\wangxian.cpp(10) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
D:\c\wangxian.cpp(11) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
D:\c\wangxian.cpp(12) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
D:\c\wangxian.cpp(5) : warning C4700: local variable 'I' used without having been initialized
Linking...

搜索更多相关主题的帖子: 感谢 
2010-04-15 19:54
f250907
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2010-4-15
收藏
得分:6 
应该是将
else if (I>1000000) x=10000+7500+200000*0.08+400000*0.015+(I-1000000)*0.01;


中的else if 改成else
2010-04-15 21:16
曦月
Rank: 2
等 级:论坛游民
帖 子:30
专家分:51
注 册:2010-4-7
收藏
得分:6 
scanf("%d",I);改为scanf("%lf",&I);

 else if (I>1000000) x=10000+7500+200000*0.08+400000*0.015+(I-1000000)*0.01;改为
 else    x=10000+7500+200000*0.08+400000*0.015+(I-1000000)*0.01;

printf ("应发放奖金的数目:\n%d\n ",jiangjing);改为
printf ("应发放奖金的数目:\n%lf\n ",jiangjing);
这样就行了!

2010-04-15 21:51
wuchaoyu673
Rank: 2
等 级:论坛游民
帖 子:22
专家分:16
注 册:2010-3-14
收藏
得分:6 
二楼的是对的,数据的定义不统一
2010-04-15 21:57
快速回复:大家帮我找下错误,非常感谢!
数据加载中...
 
   



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

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