Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将switch case语句更改为if else语句 整数; cin>>数量; 开关(编号) { 案例1: cout_C++ - Fatal编程技术网

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";
}