Foros del Web » Programación para mayores de 30 ;) » C/C++ »

C++ Flujos y tipo de dato

Estas en el tema de C++ Flujos y tipo de dato en el foro de C/C++ en Foros del Web. Necesito ayuda con este programa, me gustaría usar un ciclo para pedir la variable 10 veces en vez de declarar cada variable y mandarla a ...
  #1 (permalink)  
Antiguo 19/10/2015, 20:26
 
Fecha de Ingreso: octubre-2015
Mensajes: 2
Antigüedad: 8 años, 6 meses
Puntos: 0
C++ Flujos y tipo de dato

Necesito ayuda con este programa, me gustaría usar un ciclo para pedir la variable 10 veces en vez de declarar cada variable y mandarla a una función.
¿como puedo diferencia un dato caracter(letra) y otro caracter (numero)?
El flujo del ostream no lo tengo claro.

Dada una serie de diez (10) caracteres alfanuméricos ingresados por consola (uno
por uno), clasifique cada carácter de acuerdo a los siguientes puntos:
 Si el carácter representa un valor numérico.
 Si el carácter representa una letra del alfabeto.
Los valores numéricos y los caracteres alfabéticos deberán ser mostrados en dos
archivos de texto plano independientemente (“numeros.txt”, “letras.txt”) en el
mismo orden de ingreso.
  #2 (permalink)  
Antiguo 20/10/2015, 02:49
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: C++ Flujos y tipo de dato

Cita:
Iniciado por Juank2098 Ver Mensaje
¿como puedo diferencia un dato caracter(letra) y otro caracter (numero)?
Puedes leer la secuencia como si de un string se tratase y luego iterar sobre sus caracteres... si el caracter se encuentra dentro del rango '0'-'9' entonces estás tratando con un dígito numérico. Si toda la secuencia se compone de dígitos numéricos entonces has encontrado un número.

Para realizar esta tarea puedes programar la comprobación a pelo o usar isdigit()

Para realizar la conversión de string a número puedes usar varios mecanismos:
  • Realizar la conversión a pelo: Inicializar el resultado a 0 y, para cada elemento de la secuencia, multiplicar el resultado por 10 y sumar el dígito que corresponda.
  • Usar la función atoi(), aunque es posible que al profesor no le guste que uses esta función si estás aprendiendo
  • Usar la clase istringstream:
    Código C++:
    Ver original
    1. std::string aString= "5697";
    2. std::istringstream buffer(aString);
    3. int value;
    4. buffer >> value;
  • Otras opciones...

Un saludo.

Etiquetas: caracteres, dato, numero, tipo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:22.