c++里switch怎么用
时间: 2024-05-15 20:15:28 浏览: 7
在 C 语言中,switch 语句用于根据不同的条件执行不同的代码块。其基本的语法格式如下:
```c
switch(expression) {
case constant-expression1:
//code block
break;
case constant-expression2:
//code block
break;
...
default:
//code block
}
```
其中,expression 是一个常量表达式或者变量,用于判断不同的条件。case 后面的常量表达式用于匹配 expression 的值,如果匹配成功,则执行对应的 code block,如果没有匹配成功,则执行 default 后面的 code block。在每个 case 后面都需要加上 break 语句,用于跳出 switch 语句。
相关问题
c++用switch写利润提成
以下是使用C++的switch语句来计算利润提成的代码:
```
#include <iostream>
using namespace std;
int main() {
double I, bonus;
cout << "请输入当年利润I:";
cin >> I;
switch ((int)I / 100000) {
case 0:
bonus = I * 0.1;
break;
case 1:
bonus = 10000 + (I - 100000) * 0.075;
break;
case 2:
case 3:
bonus = 17500 + (I - 200000) * 0.05; break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
bonus = 27500 + (I - 400000) * 0.03;
break;
default:
bonus = 65500 + (I - 1000000) * 0.01;
break;
}
cout << "应发放奖金总数为:" << bonus << "元" << endl;
return 0;
}
```
c++11 switch
C++11中的switch语句可以使用字符串作为case标签,这是一个非常方便的功能。下面是一个使用C++11 switch语句的例子:
```cpp
#include <iostream>
#include <string>
int main()
{
std::string str = "first";
switch(str_hash(str))
{
case "first"_hash:
std::cout << "1st one" << std::endl;
break;
case "second"_hash:
std::cout << "2nd one" << std::endl;
break;
case "third"_hash:
std::cout << "3rd one" << std::endl;
break;
default:
std::cout << "Default..." << std::endl;
break;
}
return 0;
}
```
需要注意的是,使用字符串作为case标签需要先定义一个字符串哈希函数,将字符串转换为整数,以便在switch语句中使用。另外,需要使用后缀"_hash"来表示哈希值。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)