I just tested your program. It works just fine on my side!
Edit: what version of Visual Studio are you running? 2013 or 2010? I've run into some issues compiling with 2010 myself. If you're using 2010 you might want to go into project >> properties >> linker >> set incremental linking to NO
One big issue I see is that there is to much on single lines. This makes finding the problem a pain.
It is good practice to keep each statement on its own line. That way, if the compiler flags an error on a certain line, you wont have to search for the problem. It will also be a lot easier to to read.
Also, with a little boolean algebra, the if statements can be reduced greatly.
The if statement for the order of 5 bugs can be rewritten by swapping the else and the if. The code will be a lot cleaner and easier to debug if your if statement takes the smallest path:
Could there be a "compiler-hardcoded" limit to the number of boolean operators in one if statement? I think I remember reading about something like that, though I could be wrong. Perhaps it's 127, although it seems the original post only has 73 || operators.