企业发放的奖金根据利润提成。利润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>
using namespace std;
int main()
{
int opt;
float profit;
cout<<"please choose the mode: 1[if]/2[switch] \n";
cin>>opt;
switch(opt)
{
case :
{
cout<<"MODE \"if\" chosen\n";
cout<<"please enter monthly profit($):";
cin>>profit;
float sum;
if(profit<=1e5)
{sum=profit*0.1;}
else if(profit<=2e5)
{sum=1e5*0.1+(profit-1e5)*0.075;}
else if(profit<=4e5)
{sum=1e5*0.1+1e5*0.075+(profit-2e5)*0.05;}
else if(profit<=6e5)
{sum=1e5*0.1+1e5*0.075+2e5*0.05+(profit-4e5)*0.03;}
else if(profit<=1e6)
{sum=1e5*0.1+1e5*0.075+2e5*0.05+2e5*0.03+(profit-6e5)*0.015;}
else
{sum=1e5*0.1+1e5*0.075+2e5*0.05+2e5*0.03+4e5*0.015+(profit-1e6)*0.01;}
cout<<"your bonus is: "<<sum<<'$'<<endl;
};break;
case :
{
cout<<"MODE \"switch\" chosen\n";
cout<<"please enter monthly profit($):";
cin>>profit;
float sum;
switch(int(profit/1e5))
{
case :
{sum=profit*0.1;};break;
case :
{sum=1e5*0.1+(profit-1e5)*0.075;};break;
case :
{sum=1e5*0.1+1e5*0.075+(profit-2e5)*0.05;};
case :
break;
case :
case :
{sum=1e5*0.1+1e5*0.075+2e5*0.05+(profit-4e5)*0.03;};break;
case :
case :
case :
case :
{sum=1e5*0.1+1e5*0.075+2e5*0.05+2e5*0.03+(profit-6e5)*0.015;};break;
default :
{sum=1e5*0.1+1e5*0.075+2e5*0.05+2e5*0.03+4e5*0.015+(profit-1e6)*0.01;};break;
}
cout<<"your bonus is: "<<sum<<'$'<<endl;
};break;
}  return ;
}

 

switch-case的选择用法的更多相关文章

  1. switch… case 语句的用法

    switch… case 语句的用法   public class Test7 { public static void main(String[] args) { int i=5; switch(i ...

  2. switch… case 语句的用法(二)

    总结来说:switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break.都不匹配找d ...

  3. switch… case 语句的用法(一)

    public class Test7 { public static void main(String[] args) { int i=5; switch(i) { case 1: System.ou ...

  4. switch case语句的用法

    Java语言 switch支持部分基本数据类型(primitive data types),如:byte.short.int.long.char:不支持boolean.float.double. 如图 ...

  5. 关于 C# 8.0 的 Switch Case When 的用法

    直接贴代码了: static void Main(string[] args) { SwitchSample(); } private static void SwitchSample() { Swi ...

  6. js部分---运算符,if分支语句,for循环;switch case 的用法;

    ------------------------------------------运算符---------------------------------------------------- *数 ...

  7. go语言选择语句 switch case

    根据传入条件的不同,选择语句会执行不同的语句.下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case ...

  8. 选择语句----switch case

    今天学习了选择语句的 switch case是多选一的情况可以使用. 案例: //分别输入月份 几号 输出是今年的多少天 //每年的1,3,5,7,8,10,12月是31天 //今年的2月是28天 其 ...

  9. 关于Switch case条件语句中无break的用法

    关于Switch case条件语句的另类用法       今天在拜读一位前辈的程序时,遇到了这样一段程序: /***************************/ switch(operation ...

  10. 选择语言之switch case

    程序语言-选择语言之switch   case 多选一,类似if    else if  else if  else 模版: Switch(选择条件) { Case(条件一)//相当于if Conso ...

随机推荐

  1. 关于css阴影和浮动

    盒子阴影box-shadow box-shadow:0 0 1px #000 inset; 水平  垂直   模糊  颜色 : [1] inset代表框内阴影,不加inset代表框外阴影 [2]第1个 ...

  2. 【LuoguP4081】[USACO17DEC]Standing Out from the Herd

    题目链接 题意 给定多个字符串,每个串中仅在该串中出现的本质不同的子串个数. Sol 多串匹配想到用广义SAM. 之后从串的匹配角度不是很好做.发现一个本质不同的串最多只会贡献到一个串的答案里. 那么 ...

  3. HandlerAdapter解析参数过程之HandlerMethodArgumentResolver

    在我们做Web开发的时候,会提交各种数据格式的请求,而我们的后台也会有相应的参数处理方式.SpringMVC就为我们提供了一系列的参数解析器,不管你是要获取Cookie中的值,Header中的值,JS ...

  4. head first 设计模式笔记6-命令模式

    命令模式:将“请求”封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象.命令模式也支持可撤销的操作.这个模式允许我们将动作封装成命令对象,然后可以传递和调用. 1)命令模式将发出请求的对象和 ...

  5. jquery attribute$=value选择器 语法

    jquery attribute$=value选择器 语法 作用:[attribute$=value] 选择器选取每个带有指定属性且以指定字符串结尾的元素. 语法:$("[attribute ...

  6. Python天天学_02_基础二

    Python_day_02 金角大王:http://www.cnblogs.com/alex3714/articles/5717620.html ------Python是一个优雅的大姐姐 学习方式: ...

  7. “编程小白学python”阅读笔记

    今天在豆瓣搜索“python”关键字,搜到一本知乎周刊,读来觉得不错 编程小白学python ,作者@萧井陌, @Badger 书中提到的很多书,第一次看惊呆了,记录下来,希望每周回看此博文,坚持学习 ...

  8. Fiona简介

    Fiona是一个python地理空间处理库,类似于OGR

  9. 论文阅读:FlowBlaze: Stateful Packet Processing in Hardware

    摘要: 尽管可编程NIC可以提供更好的可扩展性以处理不断增长的网络工作量,但为硬件中的有状态网络功能编程提供表达能力却又简单的抽象仍然是一项研究挑战. 我们使用FlowBlaze解决了这个问题,Flo ...

  10. Linux命令-文件管理(四)

    Linux命令-文件管理 Linux slocate命令 Linux slocate命令查找文件或目录. slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息. 语法 slocate ...