racional::racional(int dio, int dir): numerador(entero(dio)), denominador(entero(dir)), mcd(m_d()) { try { int r; if(dio == 0) { cout << "HA introducido un numero con denominador 0, ¿Desea que el denominador sea 1? (si/no) = (1/0): " << endl; cin >> r; if(r==1) { numerador = numerador; denominador = 1; mcd = m_d(); numerador = numerador/mcd; denominador = denominador/mcd; } else { throw "Error"; mcd = m_d(); numerador = numerador/mcd; denominador = denominador/mcd; } } } catch(const char* a) { cerr << "ERROR, SE HA INTRODUCIDO UN NÚMERO CON DENOMINADOR 0" << endl; exit(0); } }
racional::racional(int dio, int dir): numerador(entero(dio)), denominador(entero(dir)), mcd(m_d()) { try { if(!denominador.get_numero()) throw "Error"; mcd = m_d(); numerador = numerador/mcd; denominador = denominador/mcd; } catch(const char* a) { cerr << "ERROR, SE HA INTRODUCIDO UN NÚMERO CON DENOMINADOR 0" << endl; exit(0); } }