C++ 如何将switch case语句更改为if else语句 整数; cin>>数量; 开关(编号) { 案例1: cout
检查C++ 如何将switch case语句更改为if else语句 整数; cin>>数量; 开关(编号) { 案例1: cout,c++,C++,检查number是否等于开关的第一个值,如果等于,则输出文本,否则(否则)检查下一个数字 int number; cin>>number; switch (number) { case 1: cout<<"My Favourite Subject is"; break; case 2: cout<<"Fundamentals of Programming";
number
是否等于开关的第一个值,如果等于,则输出文本,否则(否则)检查下一个数字
int number;
cin>>number;
switch (number)
{
case 1:
cout<<"My Favourite Subject is";
break;
case 2:
cout<<"Fundamentals of Programming";
break;
case 3:
cout<<"Exit";
break;
default:
cout<<"Invalid Data";
}
用if-else替换switch语句
if ( number == /*put here value to check*/ )
// print some text
else
// do something else
将case语句替换为if语句:
if (number == 1)
{
}
else if (number == 2)
{
}
...
{
}
else
{
// default here
}
if(数字==1){
cout
如果(数字==1){
cout这是我的最爱,尽管它不是你想要的:
if (number == 1) {
cout<<"My Favourite Subject is";
} else if (number == 2) {
cout<<"Fundamentals of Programming";
} else if (number == 3) {
cout<<"Exit";
} else {
cout<<"Invalid Data";
}
string res=
数字==1?“我最喜欢的科目是”:
数字==2?“编程基础”:
数字==3?“退出”:
数字==4?“无效数据”:
"";
不能尝试:
如果(数<1 | |数>3){
//
}如果(数字==1){
//
}如果(数字/2==1){
//
}如果((数字-1)/2==1){
//
}
这有助于你获得更多的数学专业知识,而不仅仅是检查等式。//嘿,这很有趣!
string res =
number==1 ? "My Favourite Subject is" :
number==2 ? "Fundamentals of Programming" :
number==3 ? "Exit" :
number==4 ? "Invalid Data" :
"";
cout<<res;
整数;
cin>>数量;
//超常量!
静态常量字符常量*常量表[]=
{
“无效数据”,
“我最喜欢的科目是”,
“编程基础”,
“退出”
};
cout也只是为了好玩:
只需使用大写字母和分号,而不是冒号。啊,别忘了添加一个邪恶的宏:)
#为(int开关=s,b=1;b;b=0)定义开关{
#定义CASE(n)}if(开关=n){
#定义默认值}
整数;
cin>>数量;
开关(编号)
{
案件(1);
我可以试一下吗,我是一个很好的人。我试着帮助新开发人员获得尽可能多的复制/粘贴练习-他们使用的大脑越少,学到的东西就越少,他们学到的东西就越少,市场竞争就越少…即使我老了,我也可能找到一份工作…用const char*
代替string
来避免字符串复制ng.事实上,我发现在一个表达式中很难读懂多个?运算符。如果你忘记了?-运算符通常是如何工作的,那就更容易理解了。在这里,它定义了一个包含两列的表-条件列和值列。我总是觉得作业很有趣。我建议在你作弊之后,你至少要找出为什么要这样做转换。问你的老师你为什么要进行转换。转换速度更快吗?它产生的代码更小吗?记住,虽然像这样的网站很适合回答问题,但在你开始真正的编码之前,必须了解基础知识。你不知道这是否是家庭作业,开发人员可能真的在为他的下一个twitter服务器和reall进行堆栈编码你需要克服用if-else替换switch的部分…如果他需要解决这个问题的方法,给他一个机会。当他上算法课时会发生什么。你不知道这是否是家庭作业,开发人员可能真的在为他的下一个推特服务器进行堆栈编码,并且真的需要克服用if-else替换switch的部分…它是如果在中断/中断时使用gotos可能会更好。但是使用C中的普通switch语句,您可以编写:case 0:if(blah)case 1:{foo();},然后如果blah为true,case 0将执行foo(),而case 1将始终执行foo()。这对你的宏不起作用。@tony:是的,我也想过,但是你把退出标签放在哪里?另外,我想避免生成唯一标签并在宏之间传递它的麻烦。@asveikau:确实如此,但我不知道这样混乱的案例是被允许的。这就是为什么我喜欢这种练习,你总是喜欢这样arn奇怪的小语法特性(谢谢你的提示)。不过,我不会尝试修改它来支持所有这些。
//Hey this is fun!
int number;
cin>>number;
// ultra const!
static const char const * const table[] =
{
"Invalid Data",
"My Favourite Subject is",
"Fundamentals of Programming",
"Exit"
};
cout<<table[number&3];
//Who needs if statements!!?
#define SWITCH(s) for(int switch_=s, b=1;b;b=0) {
#define CASE(n) } if ( switch_ == n ) {
#define DEFAULT }
int number;
cin>>number;
SWITCH(number)
{
CASE(1);
cout << "My Favourite Subject is";
break;
CASE(2);
cout << "Fundamentals of Programming";
break;
CASE(3);
cout << "Exit";
break;
DEFAULT;
cout << "Invalid Data";
}