首页 新闻 会员 周边

C++ 关于switch case 如何case范围输出

0
[已解决问题] 解决于 2023-01-29 19:14

设计一个 输入年龄age 能输出对应名称的程序
使用if else看起来非常混乱,
然后使用switch case设计了代码,如下:

include<iostream>

using namespace std;
int main()
{
int age;
cout << "输入年龄age\n";
cin >> age;
switch (age)
{
case 12:
cout << "少年";
case 18:
cout << "青壮年";
case 40:
cout << "中年";
default:
cout << "人";
break;
}

}
使用switch case
如何才能实现 输入0~12都能显示少年,这种,而不是只输入12 才显示少年
求助!

笑忘书_1054的主页 笑忘书_1054 | 菜鸟二级 | 园豆:202
提问于:2022-12-14 20:29
< >
分享
最佳答案
0

const i = 3;
2 switch (true) {
3 case (i <= 0):
4 console.log("small");
5 break;
6 case( i > 0 && i <= 10):
7 console.log("middle");
8 break;
9 default:
10 console.log("really big");
11 }

可以用类似语句做范围判断

奖励园豆:5
香草味的薄荷糖 | 初学一级 |园豆:137 | 2022-12-16 10:44
其他回答(4)
0

switch case 适用于 等值判断,不适用范围值判断。你这种建议使用 if 语句进行判断!

中华鲟3670 | 园豆:847 (小虾三级) | 2022-12-14 21:47
0

试试这种方式

switch (true)
{
    case age <= 12:
        cout << "少年";
}
dudu | 园豆:30925 (高人七级) | 2022-12-14 21:56
0

只有一种办法就是 switch(age) { case 1: case2: ... case 12: printf("少年");break; .... }

hoodlum1980 | 园豆:559 (小虾三级) | 2023-01-10 16:08
0

你既然都用到范围判断了,为什么不用if?

轩先生。 | 园豆:418 (菜鸟二级) | 2023-03-06 16:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册