#include "utils.h"
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
using namespace utils;
bool leerDato(string& dato)
{
bool v = true;
cin.exceptions(ios::failbit | ios::badbit);
try
{
getline(cin, dato); // leer una variable de tipo string
v = true;
}
catch(ios_base::failure)
{
if (cin.eof())
{
cin.clear();
v = false; // se pulsó Ctrl+Z
}
}
return v;
}
bool LeerDato(int& dato)
{
//Habilitar Excepciones
cin.exceptions(ios::failbit | ios::badbit);
try
{
cin >> dato; return true;
//Eliminar caracteres sobrantes
cin.ignore(numeric_limits<int>::max(), '\n');
//Deshabilitar excepciones
cin.exceptions(ios::goodbit);
}
catch(ios_base::failure& e)
{
cout << e.what() << ": dato no valido\n";
cin.clear();
cin.ignore(numeric_limits<int>::max(), '\n');
return false;
}
}
bool LeerDato(float& dato)
{
//Habilitar Excepciones
cin.exceptions(ios::failbit | ios::badbit);
try
{
cin >> dato; return true;
//Eliminar caracteres sobrantes
cin.ignore(numeric_limits<int>::max(), '\n');
//Deshabilitar excepciones
cin.exceptions(ios::goodbit);
}
catch(ios_base::failure& e)
{
cout << e.what() << ": dato no valido\n";
cin.clear();
cin.ignore(numeric_limits<int>::max(), '\n');
return false;
}
}
bool LeerDato(double& dato)
{
//Habilitar Excepciones
cin.exceptions(ios::failbit | ios::badbit);
try
{
cin >> dato; return true;
//Eliminar caracteres sobrantes
cin.ignore(numeric_limits<int>::max(), '\n');
//Deshabilitar excepciones
cin.exceptions(ios::goodbit);
}
catch(ios_base::failure& e)
{
cout << e.what() << ": dato no valido\n";
cin.clear();
cin.ignore(numeric_limits<int>::max(), '\n');
return false;
}
}
bool Leerchar(char* dato, int n)
{
//Habilitar Excepciones
cin.exceptions(ios::failbit | ios::badbit);
try
{
cin.getline(dato, n);
return true;
//Eliminar caracteres sobrantes
cin.ignore(numeric_limits<int>::max(), '\n');
//Deshabilitar excepciones
cin.exceptions(ios::goodbit);
}
catch(ios_base::failure& e)
{
cout << e.what() << ": dato no valido\n";
cin.clear();
cin.ignore(numeric_limits<int>::max(), '\n');
return false;
}
};
.
.
y alguna funcion mas, pero estas son las que me dan problemas