Cita de: YreX-DwX en 24 Noviembre 2018, 12:46 PM
Depende de lo que quieras filtrar.
Si quieres filtrar que cuando pides un número te introduzcan un número positivo claro que puedes con un filtro <do while> que es lo que se suele usar.
Sin embargo si quieres filtrar que una cadena de caracteres cumpla una condición o condiciones específicas pues tendrás que hacer más comprobaciones y lo mejor será crear una función que se encargue de eso ya que no existen funciones para todo lo que se puede hacer.
Lo que te ha mostrado AlbertoBSD sería una forma fácil de entender y segura de filtrar datos ya que usando <gets> te quitas de problemas con el buffer. Si lo quieres más simple todavía puedes hacer uso de <scanf> pero ten en cuenta que entonces puedes tener problemas de buffer.Código (c) [Seleccionar]
int num;
do{
printf("Introduce un numero positivo: ");
scanf("%d", &num);
} while(num < 0);
Ahí tienes un ejemplo de lo que sería un filtro para enteros positivos lo más simple que creo que puede hacerse.
Espero que te sirva de ayuda.
Ese tipo de filtros si sabía hacerlos, pero me gustaria hacer uno sencillo para todo carácter que no sea un número positivo. Por ejemplo, imagina que el usuario introduce una arroba, un guión o un símbolo de dollar. ¿Si se pudiese hacer de manera sencilla como lo haria?