嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
C 程序设计(第三版) 谭浩强
习题3.13
习题 3.13 企业发放的奖金根据利润提成。利润I低于或等于100000元的,奖金可提0.1;利润高于100000元,低于200000(100000《I《=200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成7.5%;200000《I《=400000时,低于200000元的部分仍按上述办法提成(下同)。高于200000元的部分按5%提成;400000《I《=600000元时,高于400000元的部分按3%提成;600000《I《=1000000时,高于600000元的部分按1.5%提成;I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。
要求:
(1)用if语句编程序;
(2)用switch语句编程序。
略
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double i,bonus=0;
cout<<"请输入利润i=";
cin>>i;
while(i<0)
{
cout<<"当月没有利润,没有奖金"<<endl;
return 0;
}
i /= 100000;
if(i<=1)
{
bonus = 0.1*i;
}
else if(i>1 && i<=2)
{
bonus = 1*0.1 (i-1)*0.075;
}
else if(i>2 && i<=4)
{
bonus = 2*0.1 (i-2)*0.05;
}
else if(i>4 && i<=6)
{
bonus= 4*0.1 (i-4)*0.03;
}
else if(i>6 && i<=10)
{
bonus = 6*0.1 (i-6)*0.015;
}
else
{
bonus = 10*0.1 (i-10)*0.01;
}
bonus *= 100000;
cout<<setiosflags(ios::fixed)<<setprecision(2);
cout<<"bonus="<<bonus<<endl;
return 0;
}
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double i,bonus=0;
int level=0;
cout<<"请输入利润i=";
cin>>i;
while(i<0)
{
cout<<"当月没有利润,没有奖金"<<endl;
return 0;
}
i /= 100000;
if(i<=1)
{
level=1;
}
else if(i>1 && i<=2)
{
level=2;
}
else if(i>2 && i<=4)
{
level=3;
}
else if(i>4 && i<=6)
{
level=4;
}
else if(i>6 && i<=10)
{
level=5;
}
else
{
level=6;
}
switch(level){
case 1:
bonus = 0.1*i;
break;
case 2:
bonus = 1*0.1 (i-1)*0.075;
break;
case 3:
bonus = 2*0.1 (i-2)*0.05;
break;
case 4:
bonus= 4*0.1 (i-4)*0.03;
break;
case 5:
bonus = 6*0.1 (i-6)*0.015;
break;
case 6:
bonus = 10*0.1 (i-10)*0.01;
break;
}
bonus *= 100000;
cout<<setiosflags(ios::fixed)<<setprecision(2);
cout<<"bonus="<<bonus<<endl;
return 0;
}