注册 登录
编程论坛 C++教室

关于c++程序里面企业发放奖励的一问题(注:不看的话你后悔一辈子)

newCpp 发布于 2009-08-22 18:06, 676 次点击
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

程序源代码:
main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
 if(i<=100000)
  bonus=i*0.1;
 else if(i<=200000)
     bonus=bonus1+(i-100000)*0.075;
    else if(i<=400000)
        bonus=bonus2+(i-200000)*0.05;
       else if(i<=600000)
           bonus=bonus4+(i-400000)*0.03;
          else if(i<=1000000)
              bonus=bonus6+(i-600000)*0.015;
             else
              bonus=bonus10+(i-1000000)*0.01;
printf("bonus=%d",bonus);
}


/*这题目是书上的bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
这里面的几段按上面的题目这些我怎么感觉好像都少一个0啊,晕这书上的程序到底有没有错啊*/

只需要说这段题目的程序对不对即可

谢谢,
9 回复
#2
newCpp2009-08-22 18:06
#include<iostream>
using namespace std;
int main()
{
long int qian,qian1,qian2,qian3,qian4,qian5,z;
qian1=100000*0.1;
cin>>qian;
if(qian<=100000)
{
z=qian*0.1;
}
else if(qian>100000&&qian<=200000)
{
z=qian1+(qian-100000)*0.075;
}
else if(qian>200000&&qian<=400000)
{
z=qian1+((qian-100000)*0.075)+((qian-200000)*0.05);
}
else if(qian>600000&&qian<=1000000)
{
z=qian1+((qian-100000)*0.075)+((qian-200000)*0.05)+((qian-600000)*0.015);
}
else
{
z=qian1+((qian-100000)*0.075)+((qian-200000)*0.05)+((qian-600000)*0.015)+((qian-1000000)*0.01);
}
cout<<"this mo bonus:"<<z<<endl;
}
/*这个是我自己后写的虽然复杂了点,但至少能够比较,这个问题

我很想搞清楚,我被这玩意都搞懵了 。我都不知道是我思维逻辑有问题

还是确实是书上错了 。

谢谢我很想知道,到底谁错了。


*/

#3
newCpp2009-08-22 18:07
书上面的程序虽然或许因为我太菜了,
但恳求高手解答一下我的疑问
谢谢
#4
mfkblue2009-08-22 19:29
比较后悔看了
#5
明次2009-08-22 22:14
很不错的一道题
#6
newCpp2009-08-23 08:17

#7
rockcjw2009-08-23 23:29
没错! 哪有什么少0啊。
#8
pangding2009-08-24 00:26
回复 4楼 mfkblue
呵呵,我也有点这感觉~
#9
hyfl2009-08-26 17:11
标题党
#10
sunkaidong2009-08-26 18:46
大家用设计模式里面提的策略模式或者工厂化模式改进这个题目吧,或许企业更关注的是这个——解除耦合
1