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

Validar caracteres especificos en una cadena

Estas en el tema de Validar caracteres especificos en una cadena en el foro de C/C++ en Foros del Web. Estoy haciendo un programa en C++ con el compilador dev c++ y tengo duda de como validar caracteres especificos, que solo acepte caracteres de una ...
  #1 (permalink)  
Antiguo 10/12/2013, 22:52
 
Fecha de Ingreso: diciembre-2013
Mensajes: 1
Antigüedad: 10 años, 11 meses
Puntos: 1
Pregunta Validar caracteres especificos en una cadena

Estoy haciendo un programa en C++ con el compilador dev c++ y tengo duda de como validar caracteres especificos, que solo acepte caracteres de una lista dada por ejemplo mi apellido:medinasgur, quiero que el programa solo acepte entradas que contengan esos caracteres pero no se como validar caracteres espeificos solo si es numero o letra
  #2 (permalink)  
Antiguo 11/12/2013, 06:00
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: Validar caracteres especificos en una cadena

no te entiendo nada?
Explícate mejor.
¿¿Que es lo que quieres validar, una cadena??
  #3 (permalink)  
Antiguo 11/12/2013, 14:20
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Validar caracteres especificos en una cadena

Hola:
No me ha quedado muy claro si lo que quieres es que una cadena coincida con una entrada o buscar algún patrón dentro de una cadena.
Si es lo primero, y no quieres andar comparando caracter a caracter, puedes hacer uso de la función strcmp de cstring.
Un ejemplo de su uso podría ser:
Código C++:
Ver original
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. int main ()
  7. {
  8.     char aux[11];
  9.     char nombre[]="medinasgur";
  10.     cout<<"Ingresar nombre: "<<endl;
  11.     cin>>aux;
  12.     if(!strcmp (aux,nombre))//devuelve 0 si las cadenas a comparar son iguales equivale a  if(strcmp (aux,nombre)==0)
  13.     cout<<"Nombre correcto";
  14.     return 0;
  15. }

Si es lo segundo éste enlace te puede ayudar (es sobre expresiones regulares en C++):
[URL="http://totaki.com/poesiabinaria/category/expresiones-regulares/"]http://totaki.com/poesiabinaria/category/expresiones-regulares/[/URL]

(bueno, no sé por qué pero no soy capaz de poner bien el último enlace)

Última edición por dehm; 11/12/2013 a las 14:25 Razón: corregir el ultimo enlace
  #4 (permalink)  
Antiguo 11/12/2013, 16:53
 
Fecha de Ingreso: diciembre-2013
Mensajes: 10
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: Validar caracteres especificos en una cadena

Como entiendo la pregunta de edipro, es que solo pueda ingresar ciertos caracteres, por ejemplo con el apellido, que solo pueda ingresar estas letras: m, e, d, i, n, a, s, g, u & r. Que se puedan ingresar en distinto orden pero siempre y cuando solo sean estas 10 letras.

Si fuera así el caso, lo puedes hacer con un ciclo comprobando cada lugar con estas letras, si no se cumple la condición que vuelva a pedir ingresar otro texto.

O si solo se trata de comparar una palabra ingresada con el apellido (medinasgur), puedes utilizar lo que te propone dehm, comparando la palabra con la función strcmp().

Saludos.

Etiquetas: automatas, caracteres, validacion
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:01.