How to have an Arduino wait until it receives data over serial?
Here are some suggestions:


move declaration of ch above the while loop
you used = instead of ==, so while( ch = 0) will loop forever, because ch = 0 will always evaluate to true.  It should be while( ch == 0)
refactor your menu display into a DisplayMenu() function, just because it's cleaner that way, then call DisplayMenu() from loop().