Buenas a todos, desde ya gracias de antemano, tengo problemas a la hora de imprimir las ñ, Ñ, y letras con acento, el programa tiene hacer lo siguiente:
Al introducir por teclado un texto (minúsculas y mayúsculas con espacios) a la salida debe mostrar su correspondiente en ASCII asociado a su carácter, bueno mejor les dejo un ejemplo:
Entrada "aDñ s1á!"
Salida a=97 (Caracter)
D=68 (Caracter)
ñ=164 (Caracter)
" "=32 (Espacio no imprimible)
s=115 (Caracter)
1=49 (Digito)
á=160(Caracter)
!=33 (Signo de Puntuacion)
Esa es la idea, y la verdad no se como hacer funcionar la parte de la ñ, y las letras con acento aqui lo que hice hasta ahora:
Al introducir por teclado un texto (minúsculas y mayúsculas con espacios) a la salida debe mostrar su correspondiente en ASCII asociado a su carácter, bueno mejor les dejo un ejemplo:
Entrada "aDñ s1á!"
Salida a=97 (Caracter)
D=68 (Caracter)
ñ=164 (Caracter)
" "=32 (Espacio no imprimible)
s=115 (Caracter)
1=49 (Digito)
á=160(Caracter)
!=33 (Signo de Puntuacion)
Esa es la idea, y la verdad no se como hacer funcionar la parte de la ñ, y las letras con acento aqui lo que hice hasta ahora:
Código [Seleccionar]
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main ()
{
char palabra[80];
int a,i,v;
printf("Introduzca los caracteres:\n");
gets(palabra);
a=strlen(palabra);
a=a-1;
for(i=0;i<=a;i++)
{
v=palabra[i];
if((v>=65 & v<=90)||(v>=97 & v<=122))
{
printf(" %c = %d \t (Car%ccter)\n", palabra[i],v,160);
}
else
{
if(v>=48 & v<=57)
{
printf(" %c = %d \t (Digito)\n", palabra[i],v);
}
else
{
if((v==164)||(v==165)||(v==160)||(v==130)||(v==162)||(v==163)||(v==161)||(v==181)||(v==144)||(v==181)||(v==214)||(v==214)||(v==224)||(v==233))
{
printf(" %c = %d \t (Car%ccter)\n", palabra[i],v,160);
}
else
{
if((v==63)||(v==64)||(v==168)||(v==173)||(v==33)||(v==58)||(v==47)||(v==92))
{
printf(" %c = %d \t (Signo de puntuaci%cn)\n", palabra[i],v,162);
}
else
{
if((v==32))
{
printf(" %c = %d \t (Espacio no imprimible)\n", palabra[i],v);
}
else
{
printf(" %c = %d \t (Car%ccter no imprimible)\n", palabra[i],v,160);
}
}
}
}
}
}
system ("pause");
}