public void Add(Rational r)
this.num = this.num * r.denum + r.num * this.denum;
this.denum = this.denum * r.denum;
public void Sub(Rational r)
this.num = this.num * r.denum - r.num * this.denum;
this.denum = this.denum * r.denum;
public void Mult(Rational r)
this.num = this.num * r.num;
this.denum = this.denum * r.denum;
public void Div(Rational r)
this.num = this.num * r.denum;
this.denum = this.denum * r.num;
public int Compare(Rational r)
if (this.num*r.denum>r.num*this.denum)
if (this.num * r.denum < r.num * this.denum)
return this.dec =(double) this.num / this.denum;
public void Print(Rational r)
this.dec = (double)this.num / this.denum;
Console.WriteLine(this.dec);
public static void Main()
Rational x = new Rational();
Console.Write("numx=");x.num = int.Parse(Console.ReadLine());
Console.Write("denumx=");x.denum = int.Parse(Console.ReadLine());
Rational y = new Rational();
Console.Write("numy="); y.num = int.Parse(Console.ReadLine());
Console.Write("denumy="); y.denum = int.Parse(Console.ReadLine());
Console.WriteLine("Въведете операция: ");
Console.WriteLine("1 - събиране (x+y)");
Console.WriteLine("2 - изваждане (x-y)");
Console.WriteLine("3 - умножение (x.y)");
Console.WriteLine("4 - деление (x/y)");
Console.WriteLine("5 - сравняване (x vs y)");
Console.WriteLine("6 - x като десетична дроб");
Console.WriteLine("7 - y като десетична дроб");
var i = int.Parse(Console.ReadLine());
Console.WriteLine("Резултат:");
Console.Write("x+y=");x.Print(y);break;
Console.Write("x-y="); x.Print(y);break;
Console.Write("x*y="); x.Print(y); break;
Console.Write("x/y="); x.Print(y); break;
Console.Write("x vs y={0}", x.Compare(y)); break;
Console.Write("x="); x.Print(x); break;
Console.Write("y="); y.Print(y); break;