It does execute, but when you say cin >> ch, ch contains only the character/text entered before hitting enter (which causes ch to store that value). The newline character represented by hitting enter is still in the cin stream, and getline sees this as the next available "line", thereby storing no text in mystring. To fix this, before you use getline, insert cin.ignore(80, '\n');, which ignores the last 80 characters in the stream, stopping at the most recent newline character. This should solve your problem.
(Since you're only asking for one character - 'y' - you probably don't need to ignore 80 characters, but picking a higher number than necessary is always safe.)
Don't worry about it being a noob question - it's one that I'm sure every programmer has had at one point.
Because when you do std::cin >> ch; you enter letter and press "Enter" which inserts newline symbol. Extraction operator get character and leave newline in input buffer. Then getline takes all symbols until it will encounter newline, which is immideatly. So it never need your input actually because it founds everything in buffer.
You should skip that symbol if you want getline to work.