Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/03/2015, 02:53
aguml
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 4 meses
Puntos: 3
Respuesta: Necesito un método para validar números y letras

El modo mas sencillo que conozco seria algo asi:
Código PHP:
#include <iostream>
using namespace std;

#define MAX_BUFFER 5

bool ValidarNum(char *bufferint tam);
bool ValidarLetras(char *bufferint tam);

int main()
{
   
char buffer[MAX_BUFFER];
   
char caracter;
   
bool salir;

   do{
      
salir=true;
      
cout << "Ingrese un numero:";
      
cin.getline(buffer,MAX_BUFFER);

      if(!
ValidarNum(bufferstd::strlen(buffer))){
         
cout << "El valor ingresado no es numerico" << endl;
         
salir=false;
      }
   }while(!
salir);

   do{
      
salir=true;
      
cout << "Ingrese una cadena:";
      
cin.getline(buffer,MAX_BUFFER);
      if(!
ValidarLetras(bufferstd::strlen(buffer))){
         
cout << "El valor ingresado no es alfabetico" << endl;
         
salir=false;
      }
   }while(!
salir);

}

bool ValidarNum(char *bufferint tam)
{
   
int retval=true;

   for(
int i=0i<tam && buffer[i] != 0i++)
   {
      if(
buffer[i] < '0' || buffer[i] > '9'){
         
retval=false;
         break;
      }
   }
   return 
retval;
}

bool ValidarLetras(char *bufferint tam)
{
   
int retval;

   for(
int i=0i<tam && buffer[i] != 0i++)
   {
      if((
buffer[i] < 'a' || buffer[i] > 'z') && (buffer[i] < 'A' || buffer[i] > 'Z')){
         
retval=false;
         break;
      }
   }

   return 
retval;

Si lo que realmente quieres es que no se muestren en pantalla los caracteres no deseados eso ya es otro cantar. Por ahi tengo que tener un codigo en C que hace eso pero ya digo que no es nada estandar y depende de la plataforma ya que el que tengo yo solo funciona en Windows porque usa apis de este para controlar la entrada.