Reputation: 75
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.
Upvotes: 4
Views: 83797
Reputation: 22624
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.
Upvotes: 10
Reputation: 19757
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.
Upvotes: 7
Reputation: 28511
do {
srand (time(0));
estrength = rand()%100);
srand (time(0));
strength = rand()%100);
} while(!estrength == 100 && !strength == 100 )
Upvotes: 2