简体   繁体   中英

if condition on turbo C++

I'm having a problem regarding with if statement in C++ this statement is in do-while loop.

gotoxy(27,22);cout<<"Do you want to continue [Y]?";
    sub=getche();
    if(sub!='y' || sub!='Y')
    {

        gotoxy(27,24);cout<<"INVALID ANSWER!!";
        gotoxy(27,26);cout<<"Closing Program....";
        delay(3000);
        exit(1);
    }else
    {
        sub=ans;
    }
}while(tolower(ans)=='y');

whenever I input y on the variable sub the code on if statement is still executing.. please someone tells me where is the error.. Thanks!

The boolean expression of (sub!='y' || sub!='Y') will always evaluate to true

This line:

if(sub!='y' || sub!='Y')

Needs to be this:

if ( (sub != 'y') && (sub != 'Y') )

Your code if(sub!='y' || sub!='Y') will be true ,no matter what you enter because either sub!='y' or sub!='Y' will evaluate to true. Hence Use && instead of || .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM