i figured that c++ does not read new lines is that true
not quite, C++ is only doing what you told it to do.
if(scanf("\n\n"))
To scanf, the newline character is a special instruction that tells scanf to enter a loop reading and discarding every space, tab, and newline until it finds something that isn't.
cin>> s;
The operator>> from stream to string first enters a similar loop, consuming and discarding all whitespace unless configured to do otherwise (with noskipws).