Operaciones con Números Racionales

Salvador Rodríguez Sanz.

/* Programa que calcula la suma, producto y cociente de dos racionales separados por el carácter ‘/’ mediante funciones */

#include<iostream>

struct racional {
int numerador;
int denominador;
};
typedef struct racional Racional;

bool esCorrecto (Racional r);
Racional suma_racionales (Racional x,Racional y);
Racional producto_racionales (Racional x, Racional y);
Racional cociente_racionales (Racional x, Racional y);
void escribirRacional (Racional r);

using namespace std;

int main ()
{
int n1,d1,n2,d2;

cout << “Introduzca el numerador y el denominador del primer racional. ” << endl;
cin >> n1 >> d1;

Racional r1;
r1.numerador=n1;
r1.denominador=d1;

cout << “Introduzca el numerador y el denominador del segundo racional. ” << endl;
cin >> n2 >> d2;

Racional r2;
r2.numerador=n2;
r2.denominador=d2;

if ((!esCorrecto(r2)) || (!esCorrecto(r1)))
{
cout << “No se puede sumar tales racionales. ” << endl;
}
else {
cout << “La suma de los racionales es: ” << endl;
escribirRacional(suma_racionales(r1,r2));

cout << “El producto de los racionales es: ” << endl;
escribirRacional (producto_racionales(r1,r2));

cout << “El cociente de los racionales es: ” << endl;
escribirRacional (cociente_racionales(r1,r2));
}

return 0;
}

bool esCorrecto (struct racional r)
{
if (r.denominador!=0) return true;
else return false;
}

Racional suma_racionales (Racional x, Racional y)
{
Racional s;

s.denominador=x.denominador*y.denominador;
s.numerador=x.numerador*y.denominador+y.numerador*x.denominador;
return s;
}

Racional producto_racionales(Racional x, Racional y)
{
Racional p;

p.numerador=x.numerador*y.numerador;
p.denominador=x.denominador*y.denominador;
return p;
}

Racional cociente_racionales(Racional x, Racional y)
{
Racional c;

c.numerador=x.numerador*y.denominador;
c.denominador=x.denominador*y.numerador;
return c;
}

void escribirRacional (Racional r)
{
int a,b;

a=r.numerador;
b=r.denominador;
cout << a << ” / ” << b << endl;
}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s