Lets say I have a loop that inputs a value from user, and if the value is equal to zero, it breaks.
Is there a way to do this without writing the same condition twice?
for example:
int x;
do
{
std::cin >> x;
if (x)
{
//code
}
} while(x);
What is the cleanest way to do this?
>Solution :
When you write the code exactly as you described it with words it get’s simpler:
int x;
while(std::cin >> x) // I have a loop that inputs a value from user, and ...
{
if(x == 0) // if the value is equal to zero, ...
{
break; // it breaks.
}
// do something with x ...
}
The reason for having std::cin >> x; as condition is to stop reading when invalid input is entered or the stream ends.