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

sugerencias programa que lea una cadena e identifique numeros, letras y simbolos

Estas en el tema de sugerencias programa que lea una cadena e identifique numeros, letras y simbolos en el foro de C/C++ en Foros del Web. el ejercicio es este debo ingresar por teclado una cadena ejemplo 22.e+46 denme pistas ---NO quiero codigo completo --- solo pistas sobre que puedo hacer ...
  #1 (permalink)  
Antiguo 11/04/2016, 18:23
 
Fecha de Ingreso: noviembre-2014
Ubicación: guadalajara
Mensajes: 14
Antigüedad: 10 años
Puntos: 0
sugerencias programa que lea una cadena e identifique numeros, letras y simbolos

el ejercicio es este
debo ingresar por teclado una cadena
ejemplo
22.e+46

denme pistas ---NO quiero codigo completo --- solo pistas sobre que puedo hacer
no tengo mucho conocimiento aun en programacion

el programa debe reconocer en el mismo orden que ingrese el caracter y debe imprimirlo y mencionar q es, la unica letra que debe reconocer es la letra e, si meto otra diferente debe marcar error lo mismo con el punto y el operador solo son validos el punto el + cualquier otro simbolo debe marcar error
espero me de a entender

2
es un numero

2
es un numero

.
es un punto

e
es una letra e

+
es un operador

a
error no se reconoce el caracter
  #2 (permalink)  
Antiguo 12/04/2016, 00:11
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 9 meses
Puntos: 3
Respuesta: sugerencias programa que lea una cadena e identifique numeros, letras y si

Puedes hacerlo de tres formas:
1- comparando cada carácter con un rango de entero para los tres casos.
2- usar isalpha e isdigit y un rango para los símbolos.
3- usar strpbrk con cada carácter de la cadena para los tres casos.

Para mi la mejor solución es la primera.
  #3 (permalink)  
Antiguo 12/04/2016, 14:12
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses
Puntos: 73
Respuesta: sugerencias programa que lea una cadena e identifique numeros, letras y si

Entiendo que lo que quieres es asegurarte de que lo que lees es un número. Tendrás que reconocer carácter a carácter, dependiendo de qué sea válido en cada momento.

Por ejemplo: Un número puede empezar por:
- Un signo (+ ó -)
- Un punto decimal
- Un dígito

- Si el primer carácter es un signo, el siguiente carácter debe ser solamente un punto decimal ó un dígito.

- Si el primer carácter es un punto decimal, el siguiente puede ser solamente un dígito.

- Si tengo un dígito (independientemente de la posición) solamente puede ser seguido por otro dígito, un punto decimal si no lo ha habido previamente, o una letra 'e' ó 'E' si no la ha habido previamente.

- Una letra 'e' ó 'E' puede seguir a un punto decimal solamente si delante del punto decimal ya había dígitos.

- Detrás de una 'e' ó 'E' tiene que haber un signo ó un dígito

Y así, ve pensando qué debes encontrar y qué no debes encontrar, conforme avances en la cadena que forma el número y teniendo en cuenta las diversas formas en que el número se puede presentar.
  #4 (permalink)  
Antiguo 12/04/2016, 17:14
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 1 mes
Puntos: 52
Respuesta: sugerencias programa que lea una cadena e identifique numeros, letras y si

Lo descrito en el ultimo comentario, es lo mas parecido que hay a una máquina de estados finitos.

A lo mejor, es demasiada complejidad para el problema, pero te serviría investigar un poco sobre autómatas y maquinas de estados finitos.

Básicamente hacen lo que quieres.... y mucho mas.

Saludos

Etiquetas: cadena, ejercicio, letras, numero, numeros, programa, simbolos, sugerencias
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 09:59.