Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

While loop with multiple conditions in C++

Tags:

c++

do-while

How would I make a loop that does the loop until one of multiple conditions is met. For example:

do
{
    srand (time(0));
    estrength = rand()%100);

    srand (time(0));
    strength = rand()%100);
} while( ) //either strength or estrength is not equal to 100

Kind of a lame example, but I think you all will understand.

I know of &&, but I want it to only meet one of the conditions and move on, not both.

like image 215
ConMaki Avatar asked Dec 01 '22 03:12

ConMaki


2 Answers

Use the || and/or the && operators to combine your conditions.

Examples:

1.

do
{
   ...
} while (a || b);

will loop while either a or b are true.

2.

do
{
...
} while (a && b);

will loop while both a and b are true.

like image 87
Daniel Daranas Avatar answered Dec 05 '22 05:12

Daniel Daranas


while ( !a && !b ) // while a is false and b is false
{
    // Do something that will eventually make a or b true.
}

Or equivalently

while ( !( a || b ) ) // while at least one of them is false

This table of operator precedence will be useful when creating more complicated logical statements, but I generally recommend bracketing the hell out of it to make your intentions clear.

If you're feeling theoretical, you might enjoy De Morgan's Laws.

like image 43
BoBTFish Avatar answered Dec 05 '22 06:12

BoBTFish