Solito stranoto problema col '\n' che viene salvato nel buffer ecc... risolvi così:

codice:
	do {
		cout<<endl<<"Ritornare al menu? (y/n) :  ";
		ris=getchar();
		while ( getchar() != '\n' );
                // o anche fflush(stdin) ma la prima soluzione è migliore
	} while ((ris!='y') && (ris!='n'));
p.s. una parentesi: ma se sto programmando esclusivamente in c++ devo x forza usare endl x andare daccapo o posso usare anche \n?
Tutto ciò che puoi fare in C puoi farlo ugualmente in C++ (il viceversa non vale ovviamente). Se in C puoi usare '\n', lo puoi fare anche in C++... ma perché non ricorrere alle caratteristiche proprie del C++, visto che il risultato è comunque lo stesso?

Comunque endl non è da considerarsi un semplice alias di '\n'

http://www.cplusplus.com/reference/i...pulators/endl/

anche se l'effetto sembrerebbe dimostrare il contrario.