It's (poop == false) not (poop = false) ;P!
= is used only for assigning whereas == is used only for comparing, remember! ;)
Also why have you used return 0; in the 'if block'? That will cause the main function to stop and return 0 to the operating system. You don't have to write anything the if statement will automatically stop in C++. ^_^
What is happening is that poop is getting assigned false within the if statement itself, and the if statement then checks the boolean value for poop (which counts as an expression as well) which is false by the time it is assigned. Cool huh.