Autor
|
Tema: Problema con ñ,Ñ, y acentos. (Leído 3,418 veces)
|
diegofah
Desconectado
Mensajes: 2
|
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: #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"); }
|
|
|
En línea
|
|
|
|
|
ecfisa
Desconectado
Mensajes: 114
|
Hola diegofah. Si estas trabajando en consola de Windows, intenta de este modo: void printUCode(char* str) { int i; for(i=0; i<strlen(str); i++) { switch(str){ case 'á': printf("\240"); break; case 'é': printf("\202"); break; case 'í': printf("\241"); break; case 'ó': printf("\242"); break; case 'ú': printf("\243"); break; case 'Á': printf("%c",-75); break; case 'É': printf("%c",-112); break; case 'Í': printf("%c",-42); break; case 'Ó': printf("%c",-32); break; case 'Ú': printf("%c",-23); break; case 'Ñ': printf("%c",-91); break; case 'ñ': printf("%c",-92); break; default: printf("%c", str); } } }
Uso: printUCode("ÁÉÍÓÚÑáéíóúñ");
(Usé las etiquetas "code" para que se visualizen correctos los caracteres) Saludos.
|
|
« Última modificación: 1 Septiembre 2014, 18:24 pm por ecfisa »
|
En línea
|
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
en el default, str+i
|
|
|
En línea
|
|
|
|
ecfisa
Desconectado
Mensajes: 114
|
Hola ivancea96. Tenes razón, gracias por la observación. Corrijo: void printUCode(char* str) { int i; for(i=0; i<strlen(str); i++) { switch(str[i]){ case 'á': printf("\240"); break; case 'é': printf("\202"); break; case 'í': printf("\241"); break; case 'ó': printf("\242"); break; case 'ú': printf("\243"); break; case 'Á': printf("%c",-75); break; case 'É': printf("%c",-112); break; case 'Í': printf("%c",-42); break; case 'Ó': printf("%c",-32); break; case 'Ú': printf("%c",-23); break; case 'Ñ': printf("%c",-91); break; case 'ñ': printf("%c",-92); break; default: printf("%c", str[i]); } } }
Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con caracteres con "Acentos" en StreamReader
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Skeletron
|
10
|
14,526
|
26 Octubre 2009, 02:49 am
por Skeletron
|
|
|
Problema con Acentos en MySQL + PHP
« 1 2 3 4 »
PHP
|
Skeletron
|
36
|
29,970
|
14 Marzo 2010, 18:05 pm
por Skeletron
|
|
|
problema acentos y Ñ, ya probe todo xD(solucionado)
Desarrollo Web
|
basickdagger
|
1
|
2,383
|
21 Marzo 2013, 00:37 am
por basickdagger
|
|
|
[PYTHON][AYUDA] Problema con acentos y ñ
Scripting
|
LaThortilla (Effort)
|
5
|
27,494
|
11 Abril 2015, 10:49 am
por Eleкtro
|
|
|
Problema de inserat acentos en mysql
« 1 2 »
Bases de Datos
|
yoelrodguez
|
18
|
11,730
|
27 Junio 2015, 20:10 pm
por WHK
|
|