Problema con la Ñ

Iniciado por <<<-Basura->>>, 19 Junio 2011, 08:05 AM

0 Miembros y 1 Visitante están viendo este tema.

<<<-Basura->>>

Mi duda es simple. he rebuscado con google y caigo en soluciones tontas y sin sentido:
Bueno lo que quiero saber es como imprimir la ñ !!!
en C/C++

printf( " ñ " );

Código (cpp) [Seleccionar]

std::cout >> " ñ " ;


alguien puede decirmelo  :-\
<<<--Basura-->>>

Slava_TZD



The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.

sik2986

#2
Hola, aquí te dejo un algoritmo que te muestra diferentes maneras de imprimir la "Ñ" o "ñ" en C++ he utilizado cout y printf para que tengas más opciones (en este caso he utilizado Dev C++). espero que te sirva ;) porque io también me tomé mi tiempo buscado estos códigos:

Código (cpp) [Seleccionar]

#include <iostream>//Para cout
#include <conio.h> /*Para el getch --> para que pause la ventana aunque esa no es su verdadera función*/
using namespace std;//Para cout
int main()
{
    cout<<"\n\tEn HEXADECIMAL:\n";
    cout<<" \xa4 "; //Hexadecimal --> ñ=\xa4
    cout<<" \xa5 "; //Hexadecimal --> Ñ=\xa5
   
    cout<<"\n\tEn DECIMAL:\n";
    cout<<char(164); //Decimal --> ñ=165
    cout<<char(165); //Decimal --> Ñ=165
   
    cout<<"\n\tEn OCTAL:\n";
    cout<<" \244 "; //Octal --> ñ=\244
    cout<<" \245 "; //Octal --> Ñ=\245
   
    printf("\n\tEn HEXADECIMAL:\n");
    printf(" \xa4 "); //Hexadecimal --> ñ=\xa4
    printf(" \xa5 "); //Hexadecimal --> Ñ=\xa5
   
    printf("\n\tEn DECIMAL:\n");
    printf(" %c ",164); //Decimal --> ñ=165
    printf(" %c ",165); //Decimal --> Ñ=165
   
    printf("\n\tEn OCTAL:\n");
    printf(" \244 "); //Octal --> ñ=\244
    printf(" \245 "); //Octal --> Ñ=\245
   
    getch();
    return 0;
}


Aquí te dejo un algoritmo que me sirvió mucho para hacer alguna tareas ;) espero que te sea útil a ti también:

Código (cpp) [Seleccionar]

// Codigo ofrecido por Tutores.org
#include <stdio.h>
#include <conio.h>

int main()
{
int i;

for(i = 0; i != 256; i++)
switch (i)
{
case 9:
printf("\nCaracter = 'tab' -- Dec = %i -- Hex = %X -- Oct = %o -- Escribir \\x%x o \t ", i, i, i, i);
break;
case 10:
printf("\nCaracter = 'enter' -- Dec = %i -- Hex = %X -- Oct = %o -- Escribir \\x%x o \n ", i, i, i, i);
break;
case 13:
printf("\nCaracter = 'retorno' -- Dec = %i -- Hex = %X -- Oct = %o -- Escribir \\x%x o \r ", i, i, i, i);
break;
default:
printf("\nCaracter = %c -- Dec = %i -- Hex = %X -- Oct = %o -- Escribir \\x%x ", i, i, i, i, i);
break;
}

getch();
return 0;
}



<<<-Basura->>>

Bueno lo intente con todas las formas que me pusieron hay y pues la verdad ninguna me sirvió sale este carácter en lugar del que necesito.

��������

ese mismo, que puede ser ??
<<<--Basura-->>>

Dark Invader

A mi este me sirve perfectamente,me da la ñ por pantalla,y ya te lo han recomendado por lo que veo:

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std ;

int main(){
    cout << "ma"<<char(164)<<"a" << endl;
cin.get();
return 0;
}


Un cast muy simple.

Salu2

<<<-Basura->>>

Mira lo que me sale:

ma�a

eso con tu código, que puede ser  :huh:
<<<--Basura-->>>

Dark Invader

#6
Pues no se que puede ser¿Que IDE usas?

Mira a ver si con un puntero podemos escribir la ñ en la direccion de memoria,pero es derrochar codigo en una cosa que deberia funcionar con las otras acciones,aun asi por probar...

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main(){
char *p;
char letra;
p = &letra;
*p = char(164);
cout << letra << endl;
cin.get();
return 0;
}


¿Te sale eso con cualquier cast?

Salu2

<<<-Basura->>>

Nop sigue dando el mismo error la verdad pienso que es por el teclado y la configuración del terminal
<<<--Basura-->>>

Dark Invader

¿Qué IDE utilizas?¿has probado a reinstalarlo por si el problema es ese?.

Más no sabría decite,los códigos están bien,eres el único al que no se le muestra correctamente...

Podrías probar a reinstalarlo y ver como te funciona.

Salu2

<<<-Basura->>>

He usado ya varios IDEs no se que sea el problema  :-\
<<<--Basura-->>>