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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  pasar int to char y Viceversa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: pasar int to char y Viceversa  (Leído 3,723 veces)
rembolso

Desconectado Desconectado

Mensajes: 163



Ver Perfil
pasar int to char y Viceversa
« en: 29 Enero 2011, 17:11 pm »

hola. tengo un problema de variables en qt4. quiro que un numero de una cadena de numeros remplaze la letra correspondien al numero ej:

numero 1667 , cadena "abcdefgh"

numero 1 = a
numero 6= f
numero 6= f
numero 7= g
                                       y queda formada la palabra affg
ak les pongo el codigo q tnego yo pero tengo problemas de pasaje de variables como se puede sucionar

Código
  1.     QString str = ui->texto1->text();
  2.       int n = str.size(),i,a;
  3. a++;
  4.  
  5.    for (i=0; i<a; i++)
  6.    {                               // problema de pasar a to char y char to int
  7.      ui->texto->setText(mid(str.toAscii(),mid(a,i,1),1));
  8.    }
  9.  

alguna sugerencia..


En línea

The Swash

Desconectado Desconectado

Mensajes: 194


Programmer


Ver Perfil WWW
Re: pasar int to char y Viceversa
« Respuesta #1 en: 29 Enero 2011, 18:54 pm »

Hola amigo buen día, analice tu problema, y creo que alguna vez me tope con algo así, el hecho de esto es que hay sacar el número de números que compongan a la cifra, para esto usamos el operador mod y reducimos el archivo en su ultima cifra hasta llegar al último, te hice un ejemplo sencillo en una función espero te sea de útilidad, cualquier duda avisanos. Saludos

Código
  1. #include <stdio.h>
  2.  
  3. char * Cadena(int number, char * cadena);
  4.  
  5. int main(void)
  6. {
  7.    printf("%s ", Cadena(1667,"abcdefgh")); //return "affg"
  8.    getchar();
  9. }
  10.  
  11. char * Cadena(int number, char * cadena)
  12. {
  13.     int i = 0;
  14.     int tNum = 0;
  15.     int ilen = 0;
  16.     int altNum = number;
  17.     int * n = NULL;
  18.     char * cadenareturn;
  19.     while (number > 0)
  20.     {
  21.           tNum = number % 10;
  22.           number = number / 10;
  23.           ilen++;
  24.     }
  25.     n = (int *) malloc (sizeof(int) * ilen);
  26.     for (i = (ilen - 1); i >= 0; i--)
  27.     {
  28.         n[i] = altNum % 10;
  29.         altNum /= 10;
  30.     }
  31.     cadenareturn = (char *) malloc(ilen);
  32.     memset(cadenareturn, 0, ilen + 1);
  33.     for (i = 0; i < ilen; i++)
  34.     {
  35.         cadenareturn[i] = cadena[n[i]-1];
  36.     }
  37.     free(n);
  38.     return cadenareturn;
  39. }


« Última modificación: 29 Enero 2011, 19:07 pm por The Swash » En línea

rembolso

Desconectado Desconectado

Mensajes: 163



Ver Perfil
Re: pasar int to char y Viceversa
« Respuesta #2 en: 29 Enero 2011, 18:58 pm »

muchas gracias me sirvio de mucho
En línea

The Swash

Desconectado Desconectado

Mensajes: 194


Programmer


Ver Perfil WWW
Re: pasar int to char y Viceversa
« Respuesta #3 en: 29 Enero 2011, 19:03 pm »

Espero que más de que te sirva la función, la analices y aprendas de ella, seguramente así será más de utilidad.

Saludos y me alegra que te aya servido pero toma en cuenta lo que te dije.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines