Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: eleon en 27 Septiembre 2012, 17:03 pm



Título: Leer numero seguido de carácter
Publicado por: eleon en 27 Septiembre 2012, 17:03 pm
Hola, buenas tardes:

Estoy intentando solucionar un problema en el cual me introducen X números seguidos de Y caracteres sin espacio u otro tipo de separación entre ellos, ejemplo: 12345ABC

Guardo el número en una variable de tipo "long int", el problema es que el último dígito se pierde, es decir, con nuestro ejemplo en la variable se almacenaría solo 1234 pero no el 5. Sé que podría guardarlo todo en una cadena de caracteres y luego analizarlo para asignar al entero solo el número, pero quisiera saber si se puede solucionar de este modo, guardándolo directamente en el entero de alguna forma sin perder ningún dígito.

¿Alguna idea para leer el número entero cuando lo siguen caracteres?.

Saludos.


Título: Re: Leer numero seguido de carácter
Publicado por: Javier235 en 27 Septiembre 2012, 17:25 pm
tenés escrito algo de código como para mostrar?


Título: Re: Leer numero seguido de carácter
Publicado por: eleon en 27 Septiembre 2012, 18:21 pm
Emm... lo que he planteado es una bobada y creo la descripción es más que suficiente en este caso... pero bueno, ahi va el magnífico script:

Código
  1. int main ()
  2. {
  3.   int entero;
  4.   cin >> entero;
  5.  
  6.   return 0;
  7. }

El usuario introduce un número seguido de letras (sin ninguna separación) pero la entrada estándar se come el último dígito del número. He puesto un ejemplo en el primer post.

Saludos.


Título: Re: Leer numero seguido de carácter
Publicado por: leosansan en 27 Septiembre 2012, 18:25 pm
Hola, buenas tardes:
Estoy intentando solucionar un problema en el cual me introducen X números seguidos de Y caracteres sin espacio u otro tipo de separación entre ellos, ejemplo: 12345ABC
Sin problemas, ¿qué estabas haciendo?:
Código
  1. #include <stdio.h>
  2. main()
  3. {
  4.    int i;
  5.    scanf ("%d",&i);
  6.    printf ("%d",i);
  7.    return 0;
  8. }


Título: Re: Leer numero seguido de carácter
Publicado por: leosansan en 27 Septiembre 2012, 18:30 pm
El usuario introduce un número seguido de letras (sin ninguna separación) pero la entrada estándar se come el último dígito del número. He puesto un ejemplo en el primer post.
No se come nada:
Código
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.    int entero;
  6.    cin >> entero;
  7.    cout << "entero=" << entero<< endl;
  8.    return 0;
  9. }
Saludos.


Título: Re: Leer numero seguido de carácter
Publicado por: Caster en 27 Septiembre 2012, 18:32 pm
Edito el post porque había entendido mal tu problema, no se tendría que perder ningún dígito, los códigos que te han dejado mas arriba funcionan perfectamente, para C y para C++, la próxima vez que tengas una duda especifica el lenguaje en el que estas trabajando y postea el código que tienes para que sea mas fácil ayudarte.

Saludos


Título: Re: Leer numero seguido de carácter
Publicado por: leosansan en 29 Septiembre 2012, 15:26 pm

Estoy intentando solucionar un problema en el cual me introducen X números seguidos de Y caracteres sin espacio u otro tipo de separación entre ellos, ejemplo: 12345ABC

Y si quieres guardar el número y la cadena:
Código
  1. #include <stdio.h>
  2. main()
  3. {
  4.    int i;
  5.    char linea [80];
  6.    scanf ("%d%s",&i,linea);
  7.    printf ("%d  %s",i,linea);
  8.    return 0;
  9. }
Saludos.