Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Cleanest way to avoid writing same condition twice

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:

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

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.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading