lunes, 20 de abril de 2009

Practica 12

Capturas:




Codigo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Practica12
{
class Racional
{
int numerador;
int denominador;
public static int i;

public Racional()
{
numerador = 1;
denominador = 1;
i = 0;
}

public Racional(int num, int den)
{
numerador = num;
denominador = den;
}

public void asignarNumerador(int Num)
{
numerador = Num;
}
public int obtenerNumerador ()
{
return numerador;
}

public void asignarDenominador (int Den)
{
denominador=Den;
}

public int obtenrDenominador()
{
return denominador;
}

public int Numerador
{
get { return numerador; }
set { numerador = value; }
}
public int Denominador
{
get { return denominador; }
set {denominador=value;}
}

public static Racional operator + (Racional R1, Racional R2)
{
int D1=R1.Denominador*R2.Denominador;
int N1=R2.Denominador*R1.Numerador +R1.Denominador*R2.Numerador;

for (i = 2; i < 20; i++)
{


while (N1 % i == 0 && D1 % i == 0)
{
D1 = D1 / i;
N1 = N1 / i;
}
}
Racional RT=new Racional (N1,D1);
return RT;
}

public static Racional operator -(Racional R1, Racional R2)
{
int D1 = R1.Denominador * R2.Denominador;
int N1 = R2.Denominador * R1.Numerador - R1.Denominador * R2.Numerador;

for (i = 2; i < 20; i++)
{
while (N1 % i == 0 && D1 % i == 0)
{
D1 = D1 / i;
N1 = N1 / i;
}
}
Racional RT = new Racional(N1, D1);
return RT;
}

public static Racional operator *(Racional R1, Racional R2)
{
int D1 = R1.Denominador * R2.Denominador;
int N1 = R1.Numerador * R2.Numerador;

for (i = 2; i < 20; i++)
{
while (N1 % i == 0 && D1 % i == 0)
{
D1 = D1 /i;
N1 = N1 / i;
}
}
Racional RT = new Racional(N1, D1);
return RT;
}

public static Racional operator /(Racional R1, Racional R2)
{
int D1 = R1.Denominador * R2.Numerador;
int N1 = R1.Numerador * R2.Denominador;

for (i = 2; i < 20; i++)
{
while (N1 % i == 0 && D1 % i == 0)
{
D1 = D1 / i;
N1 = N1 / i ;
}
}
Racional RT = new Racional(N1, D1);
return RT;
}

}
class Program
{
static void Main(string[] args)
{

int num1,num2,den1,den2;

Console.Write("Introduce el numerador de la Fraccion 1:\t");
num1 = int.Parse(Console.ReadLine());
Console.Write("Introduce el denominador de la Fraccion 1:\t");
den1 = int.Parse(Console.ReadLine());

Console.Write("\nIntroduce el numerador de la Fraccion 2:\t");
num2 = int.Parse(Console.ReadLine());
Console.Write("Introduce el denominador de la Fraccion 2:\t");
den2 = int.Parse(Console.ReadLine());

Racional Numero1 = new Racional(num1, den1);
Racional Numero2 = new Racional(num2, den2);
Racional Suma,Resta,Multiplicacion,Division;

Console.WriteLine("\nLa Fraccion 1 es: {0}/{1}", Numero1.Numerador, Numero1.Denominador);
Console.WriteLine("La Fraccion 2 es: {0}/{1}", Numero2.Numerador, Numero2.Denominador);

Suma= Numero1+Numero2;
Resta = Numero1 - Numero2;
Multiplicacion = Numero1 * Numero2;
Division = Numero1 / Numero2;

if (Suma.Denominador == 1 )
{
Console.WriteLine("\n\nLa Suma de las Fracciones es: {0}", Suma.Numerador / Suma.Denominador);

}
else
{
Console.WriteLine("\n\nLa Suma de las Fracciones es: {0}/{1}", Suma.Numerador, Suma.Denominador);
}


if (Resta.Denominador == 1)
{
Console.WriteLine("\nLa Resta de las Fracciones es: {0}", Resta.Numerador / Resta.Denominador);
}
else
{
Console.WriteLine("\nLa Resta de las Fracciones es: {0}/{1}", Resta.Numerador, Resta.Denominador);
}


if (Multiplicacion.Denominador == 1)
{
Console.WriteLine("\nLa Multiplicacion de las Fracciones es: {0}", Multiplicacion.Numerador / Multiplicacion.Denominador);
}
else
{
Console.WriteLine("\nLa Multiplicacion de las Fracciones es: {0}/{1}", Multiplicacion.Numerador, Multiplicacion.Denominador);
}


if (Division.Denominador == 1)
{
Console.WriteLine("\nLa Division de las Fracciones es: {0}", Division.Numerador / Division.Denominador);
}
else
{
Console.WriteLine("\nLa Division de las Fracciones es: {0}/{1}", Division.Numerador, Division.Denominador);
}

Console.ReadKey();
}
}
}







No hay comentarios:

Publicar un comentario