Hola.
Cuando estoy programando una aplicación de consola en VC++ y escribo una cadena con 'ñ', 'á' o cualquier otro carácter del ASCII extendido, al ejecutar la aplicación aparecen caracteres diferentes, como si en la consola hubiera otra página de códigos. Prueba a leer de la consola una 'ñ' e imprimir su valor, y comparalo con el valor de la 'ñ' que pongas en el editor de código. Si son diferentes ése es el problema.
Un saludo.
Ruben3d