elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con ñ,Ñ, y acentos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con ñ,Ñ, y acentos.  (Leído 1,725 veces)
diegofah

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Problema con ñ,Ñ, y acentos.
« en: 1 Septiembre 2014, 08:10 »

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:

Código:
#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

ivancea96


Desconectado Desconectado

Mensajes: 3.410


ASMático


Ver Perfil WWW
Re: Problema con ñ,Ñ, y acentos.
« Respuesta #1 en: 1 Septiembre 2014, 11:54 »

http://foro.noticias3d.com/vbulletin/showthread.php?t=400663


En línea

ecfisa

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Problema con ñ,Ñ, y acentos.
« Respuesta #2 en: 1 Septiembre 2014, 18:20 »

Hola diegofah.

Si estas trabajando en consola de Windows, intenta de este modo:

Citar
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:
Citar
 printUCode("ÁÉÍÓÚÑáéíóúñ");

(Usé las etiquetas "code" para que se visualizen correctos los caracteres)

Saludos.
« Última modificación: 1 Septiembre 2014, 18:24 por ecfisa » En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.410


ASMático


Ver Perfil WWW
Re: Problema con ñ,Ñ, y acentos.
« Respuesta #3 en: 1 Septiembre 2014, 18:27 »

en el default, str+i
En línea

ecfisa

Desconectado Desconectado

Mensajes: 114


Ver Perfil
Re: Problema con ñ,Ñ, y acentos.
« Respuesta #4 en: 1 Septiembre 2014, 19:39 »

Hola ivancea96.

Tenes razón, gracias por la observación. Corrijo:

Código:
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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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 10,156 Último mensaje 26 Octubre 2009, 02:49
por Skeletron
Problema con Acentos en MySQL + PHP « 1 2 3 4 »
PHP
Skeletron 36 24,817 Último mensaje 14 Marzo 2010, 18:05
por Skeletron
problema acentos y Ñ, ya probe todo xD(solucionado)
Desarrollo Web
basickdagger 1 1,279 Último mensaje 21 Marzo 2013, 00:37
por basickdagger
[PYTHON][AYUDA] Problema con acentos y ñ
Scripting
LaThortilla (Effort) 5 19,109 Último mensaje 11 Abril 2015, 10:49
por Eleкtro
Problema de inserat acentos en mysql « 1 2 »
Bases de Datos
yoelrodguez 18 6,870 Último mensaje 27 Junio 2015, 20:10
por WHK
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines