润A,然后B或运行C [英] Run A and then B or run C

查看:159
本文介绍了润A,然后B或运行C的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在寻找一个控制结构来处理code或A的阻止潜在的多个块。
最基本的情况是,只有两个条件的 A

  + ------- ------- + + ------------ +
| A | C |块运行|
------- + ------- + + ------------ +
|假|假| B |
|假|真| C |
|真|假| A |
|真|真| A + B |
------- + ------- + + ------------ +

我迄今为止最好的事情是:

 如果(A)
{
    //润A座
}如果(B)的
{
    //润B座
}
否则,如果(!A)
{
    //运行C座
}


解决方案

为了清楚起见,我要重命名的条件P和Q(如在的命题逻辑

 如果(P || Q)
{
    P和;&放大器;一个();
    Q&功放;&安培; B();
}
其他
{
    C();
}

编辑:

添加更多的检查是相当容易:

 如果(P ||常见问题||  -  [R || S)
{
    P和;&放大器;一个();
    Q&功放;&安培; B();
    R&功放;&安培; D();
    S&功放;&安培; E();
}
其他
{
    C();
}

编辑,注释后:

那么这个怎么样。

  INT runC = 1;
P和;&放大器; (runC = 0,A());
Q&功放;&安培; (runC = 0,B());
R&功放;&安培; (runC = 0,D());
S&功放;&安培; (runC = 0,E());
runC&功放;&安培; C();

I'm looking for a control structure to deal with potentially multiple blocks of code or a NONE block. The most basic case is when there are only two conditions, A and B:

+-------+-------+------------+
|   A   |   B   | Blocks Run |
+-------+-------+------------+
| false | false | C          |
| false | true  | B          |
| true  | false | A          |
| true  | true  | A + B      |
+-------+-------+------------+

The best thing I have so far is:

if( A )
{
    // Run Block A
}

if( B )
{
    //Run Block B
}
else if( !A )
{
    //Run Block C
}

解决方案

For clarity, I'm going to rename your conditions P and Q (as is the convention in propositional logic)

if( P || Q)
{
    P && A();
    Q && B();
}
else
{
    C();
}

Edit:

adding more checks is rather easy:

if( P || Q || R || S)
{
    P && A();
    Q && B();
    R && D();
    S && E();
}
else
{
    C();
}

Edit, after comment:

Well how about this.

int runC = 1;
P && (runC=0, A());
Q && (runC=0, B());
R && (runC=0, D());
S && (runC=0, E());
runC && C();

这篇关于润A,然后B或运行C的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆