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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda por favor con manejo de cadenas de caracteres y numéricas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda por favor con manejo de cadenas de caracteres y numéricas  (Leído 3,362 veces)
deschattenmann

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Ayuda por favor con manejo de cadenas de caracteres y numéricas
« en: 3 Julio 2010, 07:39 am »

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 Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: Ayuda por favor con manejo de cadenas de caracteres y numéricas
« Respuesta #1 en: 3 Julio 2010, 07:41 am »

deschattenmann, te recomendaria leer las Reglas del subforo

Si pones algo del avance que llevas hecho seria mas facil para nosotros poder ayudarte.

Salu10.


En línea

deschattenmann

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Ayuda por favor con manejo de cadenas de caracteres y numéricas
« Respuesta #2 en: 3 Julio 2010, 07:59 am »

Pues no llevo mucho la verdad pero bueno esto es lo que tengo:

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

Código:
x = cad + 10;

Ya no funciona la cosa...
En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: Ayuda por favor con manejo de cadenas de caracteres y numéricas
« Respuesta #3 en: 3 Julio 2010, 08:05 am »

deschattenmann, usa el boton modificar para no hacer doble post

En cuanto el codigo, te sugiero que te pases por este post por algunas cuestiones

http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

Tendrias que hacer lo siguiente...

Código:
x = cad[i] + 10;

Salu10.

En línea

deschattenmann

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: Ayuda por favor con manejo de cadenas de caracteres y numéricas
« Respuesta #4 en: 3 Julio 2010, 08:40 am »

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 Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: Ayuda por favor con manejo de cadenas de caracteres y numéricas
« Respuesta #5 en: 3 Julio 2010, 11:05 am »

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

Código:
/* 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() :P

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

Mensajes: 14


Ver Perfil
Re: Ayuda por favor con manejo de cadenas de caracteres y numéricas
« Respuesta #6 en: 5 Julio 2010, 18:10 pm »

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 Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: Ayuda por favor con manejo de cadenas de caracteres y numéricas
« Respuesta #7 en: 5 Julio 2010, 20:20 pm »

deschattenmann, de nada! para eso estamos compañero ;)

Salu10.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[ANSI C]Ayuda con cadenas de caracteres.
Programación C/C++
volteo0101 4 4,717 Último mensaje 27 Febrero 2011, 11:38 am
por volteo0101
Ayuda con cadenas de caracteres.
Programación C/C++
GilbertoBrewer 8 3,627 Último mensaje 28 Noviembre 2014, 17:33 pm
por GilbertoBrewer
[Ayuda] Problema con cadenas de caracteres
Programación C/C++
jospar 3 2,900 Último mensaje 11 Mayo 2015, 15:57 pm
por rir3760
Arreglos y Cadenas de caracteres AYUDA
Programación C/C++
samantika 2 1,759 Último mensaje 5 Septiembre 2015, 04:28 am
por d91
Ayuda para generar series numéricas al azar
Java
yonathan 1 2,368 Último mensaje 17 Enero 2018, 04:34 am
por srWhiteSkull
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines