C++ 将if-else与开关一起使用 #包括 #包括 使用名称空间std; int main() { int n; char ans,续; ans='y'; while(true){ if(ans=='y'| | ans=='y'){ cout n; n++; cout

C++ 将if-else与开关一起使用 #包括 #包括 使用名称空间std; int main() { int n; char ans,续; ans='y'; while(true){ if(ans=='y'| | ans=='y'){ cout n; n++; cout,c++,C++,这不是开关的工作方式。因为您是根据范围做出决策的,所以您只需要一个简单的if/else if/else链。有关如何使用开关的详细信息,请阅读。这不是开关的工作方式。因为您是根据范围做出决策的,所以您只需要一个简单的if/else if/else链。有关如何使用开关的详细信息,请参阅开关读取。您可能要将 你可能想把 cout你的缩进对你也没有任何帮助。switch语句并没有达到你可能认为的效果。当你这样做时: while (ans == 'y' || ans == 'Y') 上述情况中的1和2是

这不是开关的工作方式。因为您是根据范围做出决策的,所以您只需要一个简单的if/else if/else链。有关如何使用开关的详细信息,请阅读。

这不是开关的工作方式。因为您是根据范围做出决策的,所以您只需要一个简单的if/else if/else链。有关如何使用开关的详细信息,请参阅开关读取。

您可能要将 你可能想把
cout你的缩进对你也没有任何帮助。switch语句并没有达到你可能认为的效果。当你这样做时:

while (ans == 'y' || ans == 'Y')
上述情况中的1和2是您要打开的n的值,即当
n==1
时,它将执行第一种情况;当
n==2
时,它将执行第二种情况;否则它将执行默认块

在使用
if
语句的情况下,开关没有为您完成任何操作。1起作用是因为当
n==1
时,条件
n<300
自动为真。但所有其他情况都依赖于n为1、2、3、4或5,因此,这些其他测试都不可能通过

你真正想要的是:

switch (n) {
case 1:
   //do stuff
   break;
case 2:
   //do stuff
   break
default:
   //do stuff
}
if(n<300){
//做事
}否则如果(n==300){
//做事
}否则,如果(n>300){
//做事
}等等。。。

缩进对您也没有任何帮助。switch语句没有发挥您可能认为的作用。当您执行以下操作时:

while (ans == 'y' || ans == 'Y')
上述情况中的1和2是您要打开的n的值,即当
n==1
时,它将执行第一种情况;当
n==2
时,它将执行第二种情况;否则它将执行默认块

在使用
if
语句的情况下,开关没有为您完成任何操作。1起作用是因为当
n==1
时,条件
n<300
自动为真。但所有其他情况都依赖于n为1、2、3、4或5,因此,这些其他测试都不可能通过

你真正想要的是:

switch (n) {
case 1:
   //do stuff
   break;
case 2:
   //do stuff
   break
default:
   //do stuff
}
if(n<300){
//做事
}否则如果(n==300){
//做事
}否则,如果(n>300){
//做事
}等等。。。

如果输入的价格是
1、2、3、4或5
,则您的
switch
语句只会碰到一个案例。开关无法以您试图使用它们的方式工作,最好使用
if else
控制结构

if (n < 300) {
    // do stuff
} else if (n == 300) {
    // do stuff
} else if (n > 300) {
    // do stuff
} etc...

if(n您的
switch
语句只有在输入的价格为
1、2、3、4或5
时才会起作用。开关无法以您试图使用它们的方式工作,最好使用
if-else
控制结构

if (n < 300) {
    // do stuff
} else if (n == 300) {
    // do stuff
} else if (n > 300) {
    // do stuff
} etc...

if(nDid您的意思是使用
ans
而不是
n
?…因为很明显,如果
n==5
,例如
n>1000
将永远不起作用(对于最后一种情况).您是否打算使用
ans
而不是
n
?…因为很明显,如果
n==5
,例如
n>1000
将永远不起作用(对于最后一种情况).我在编辑中修正了缩进。有人只需要检查一下。+1解释了我懒得直截了当地说的话。回答得好。考虑到问题的新手性质,澄清“你正在打开的n值”的含义可能是明智的我在一次编辑中修正了缩进。只需要有人检查一下就可以了。+1用来解释我懒得直截了当地说什么。回答得好。考虑到问题的新手性质,澄清“你正在打开的n的值”是什么意思可能是谨慎的