valida entrada de enteros a través del bit cin.fail() Man (2004-02-29)
El programa valida las entradas a través del bit de cin.fail(), este bit se activa cuando ha habido un error con el formato del dato, por ejemplo, cuando se espera un entero y se digita un carácter.
// Programa que valida entrada de enteros a través del bit cin.fail() // Por: Man // Mail: Schatten@navegante.com.sv // NOTA: Para los float, double y de mas numericos, se hace similar // NOTA 2: Es preferible validad leyendo cadenas, es más fiable // Cualquier sugerencia envíala a mi mail :) #include <iostream> using namespace std; // INICIO DE LA FUNCION main int main( void ) { int entero; // variable que almacenara un entero // solicita la entrada de un entero cout << "Digite un entero: "; cin >> entero; // itera mientras la entrada fracase while ( cin.fail() ) { cin.clear(); // hay que limpiar las banderas del cin, colocarlas de nuevo en estado de "bueno" cin.ignore( 2000, '\n' ); // vacia el buffer de la entrada ya que contiene "basura" // solicita la entrada de un entero cout << "\nValor no aceptable\n" << "Por favor digite un entero: "; cin >> entero; } // despliega los resultados cout << "\nEl entero digitado es: " << entero << endl; // pausa el programa para visualizar los resultados cin.get(); cin.get(); return 0; // El programa termina con exito } // fin de main