lunes, 6 de junio de 2016

Posted by Eternalwolf |
El siguiente programa tiene posee dos funciones para validar si el número ingresado es un entero o no:
entero(): lee una cadena la recorre si todos los valores son enteros devuelve true de lo contrario devuelve false.
validar(): recibe por parametro el mensaje para pedir el numero, se guarda en una cadena para recorrerlo con entero(), si ingresa un numero se transforma la cadena a entero con la funcion atoi, de lo contrario da un mensaje de error y vuelve a empezar el ciclo.



 #include <iostream>  
 #include <cstdlib>  
 #include <cstdio>  
 #include <cstring>  
 using namespace std;  
 bool entero(char *a);  
 int validar(string a);  
 void error();  
 char nuS[100];  
 int main(){  
      int x;  
      string mensaje="Ingrese un numero: ";  
      x=validar(mensaje);  
      cout<<"El valor de x es: "<<x;  
      system("pause");  
 return 0;  
 }  
 int validar(string a){  
      do{  
           cout<<a;  
           cin>>nuS;  
           if(!entero(nuS)){  
           error();  
           }       
      }while(!entero(nuS));  
      return atoi(nuS);  
 }  
 void error(){  
      cout<<"\nDato no valido, verifique.."<<endl;  
 }  
 bool entero(char *a){  
      for(int i = 0; i<strlen(a); i++){  
           if(!isdigit(a[i])){  
                return false;  
           }  
      }  
      return true;  
 }  

1 comentario: