Leer numero seguido de carácter

Iniciado por eleon, 27 Septiembre 2012, 17:03 PM

0 Miembros y 1 Visitante están viendo este tema.

eleon

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.

Javier235

tenés escrito algo de código como para mostrar?

eleon

#2
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 (cpp) [Seleccionar]
int main ()
{
  int entero;
  cin >> entero;

  return 0;
}


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.

leosansan

Cita de: 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
Sin problemas, ¿qué estabas haciendo?:
#include <stdio.h>
main()
{
    int i;
    scanf ("%d",&i);
    printf ("%d",i);
    return 0;
}


leosansan

Cita de: eleon en 27 Septiembre 2012, 18:21 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 (cpp) [Seleccionar]
#include <iostream>
using namespace std;
int main()
{
    int entero;
    cin >> entero;
    cout << "entero=" << entero<< endl;
    return 0;
}

Saludos.

Caster

#5
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

leosansan

Cita de: eleon en 27 Septiembre 2012, 17:03 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:
#include <stdio.h>
main()
{
    int i;
    char linea [80];
    scanf ("%d%s",&i,linea);
    printf ("%d  %s",i,linea);
    return 0;
}

Saludos.