Autor
|
Tema: Ayuda por favor con manejo de cadenas de caracteres y numéricas (Leído 3,392 veces)
|
deschattenmann
Desconectado
Mensajes: 14
|
hola bueno lo que quiero hacer es que el usuario ingrese: hola y yo obtenga 10411110897 (código ascii de hola) y pueda sumar restar multiplicar números a esa cadena. Me trabo mucho por que el usuario ingresa texto y yo quiero convertir ese texto a un numero gracias por la ayuda :D
|
|
|
En línea
|
|
|
|
nicolas_cof
Desconectado
Mensajes: 348
Into the Wild
|
deschattenmann, te recomendaria leer las Reglas del subforoSi pones algo del avance que llevas hecho seria mas facil para nosotros poder ayudarte. Salu10.
|
|
|
En línea
|
|
|
|
deschattenmann
Desconectado
Mensajes: 14
|
Pues no llevo mucho la verdad pero bueno esto es lo que tengo: #include <stdio.h>
main() { char cad[] = "hola"; int i = 0;
while (cad[i] != '/0') { printf("%d", cad[i]); i++; } }
esto me imprime la cadena que quiero, pero si intento algo como: Ya no funciona la cosa...
|
|
|
En línea
|
|
|
|
|
deschattenmann
Desconectado
Mensajes: 14
|
Creo que no me di a entender bien :S por ejemplo cuando quier sumar 10 es a 10411110897 ósea 10411110897 + 10, quiero sumar 10 a TODA la cadena no a un solo carácter
|
|
|
En línea
|
|
|
|
nicolas_cof
Desconectado
Mensajes: 348
Into the Wild
|
deschattenmann, ahi te dejo un codigo que hace lo que creo que entendi que querias Igual fijate, cualquier error que veas no dudes en postearlo /* by nicolas_cof bajo efectos de fernet ( http://es.wikipedia.org/wiki/Fernet ) */
#include <stdio.h> #include <stdlib.h> #include <string.h>
char *itoa( int value, char *result, int base ) { if ( base < 2 || base > 36 ) { *result = '\0'; return result; } char* ptr = result, *ptr1 = result, tmp_char; int tmp_value; do { tmp_value = value; value /= base; *ptr++ = "zyxwvutsrqponmlkjihgfedcba9876543210123456789abcdefghijklmnopqrstuvwxyz" [35 + (tmp_value - value * base)]; } while ( value ); if ( tmp_value < 0 ) *ptr++ = '-'; *ptr-- = '\0'; while ( ptr1 < ptr ) { tmp_char = *ptr; *ptr--= *ptr1; *ptr1++ = tmp_char; } return result; }
int main( void ) { char cad[] = "hola"; int i, lencad = strlen( cad ); char *tmp[lencad]; char *cadnum; unsigned long x;
cadnum = calloc( 25, sizeof( char ) );
for ( i = 0; i < lencad; ++i ) { tmp[i] = calloc( 4, sizeof( char ) );
tmp[i] = itoa( cad[i], tmp[i], 10 );
cadnum = strncat( cadnum, tmp[i], strlen( tmp[i] ) ); }
x = atol( cadnum );
printf( "cadnum:%s | x:%ld | x + 10:%ld \n", cadnum, x, x + 10 ); for ( i = 0; i < lencad; ++i ) free( tmp[i] ); free( cadnum );
return 0; } http://www.strudel.org.uk/itoa/Otra version usando la funcion sprintf() /* by nicolas_cof bajo efectos de fernet ( http://es.wikipedia.org/wiki/Fernet ) */
#include <stdio.h> #include <stdlib.h> #include <string.h>
int main( void ) { char cad[] = "hola"; int i, lencad = strlen( cad ); char *tmp[lencad]; char *cadnum; unsigned long x;
cadnum = calloc( 25, sizeof( char ) );
for ( i = 0; i < lencad; ++i ) { tmp[i] = calloc( 4, sizeof( char ) );
sprintf( tmp[i], "%d", cad[i] );
cadnum = strncat( cadnum, tmp[i], strlen( tmp[i] ) ); }
x = atol( cadnum );
printf( "cadnum:%s | x:%ld | x + 10:%ld \n", cadnum, x, x + 10 ); for ( i = 0; i < lencad; ++i ) free( tmp[i] ); free( cadnum );
return 0; } Salu10.
|
|
« Última modificación: 3 Julio 2010, 11:38 am por nicolas_cof »
|
En línea
|
|
|
|
deschattenmann
Desconectado
Mensajes: 14
|
Sii eso era lo que quería hacer, pensé que seria mas fácil pero pues a entender el código se ha dicho... Muchas gracias nicolas_cof
|
|
|
En línea
|
|
|
|
nicolas_cof
Desconectado
Mensajes: 348
Into the Wild
|
deschattenmann, de nada! para eso estamos compañero Salu10.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[ANSI C]Ayuda con cadenas de caracteres.
Programación C/C++
|
volteo0101
|
4
|
4,737
|
27 Febrero 2011, 11:38 am
por volteo0101
|
|
|
Ayuda con cadenas de caracteres.
Programación C/C++
|
GilbertoBrewer
|
8
|
3,651
|
28 Noviembre 2014, 17:33 pm
por GilbertoBrewer
|
|
|
[Ayuda] Problema con cadenas de caracteres
Programación C/C++
|
jospar
|
3
|
2,923
|
11 Mayo 2015, 15:57 pm
por rir3760
|
|
|
Arreglos y Cadenas de caracteres AYUDA
Programación C/C++
|
samantika
|
2
|
1,778
|
5 Septiembre 2015, 04:28 am
por d91
|
|
|
Ayuda para generar series numéricas al azar
Java
|
yonathan
|
1
|
2,388
|
17 Enero 2018, 04:34 am
por srWhiteSkull
|
|