static void Main() { ConsoleKeyInfo cki; do { Console.Clear(); Console.WriteLine("Enter first Quotient a/b: "); string[] tokens = Console.ReadLine().Split(); int x, y; if (!(int.TryParse(tokens[0], out x))) { Console.WriteLine("Error. Incorrect value"); return; } else if (!(int.TryParse(tokens[1], out y))) { Console.WriteLine("Error. Incorrect value"); return; } Quotient Q1 = new Quotient(x, y); Console.WriteLine("Enter second Quotient x/y: "); tokens = Console.ReadLine().Split(); if (!(int.TryParse(tokens[0], out x))) { Console.WriteLine("Error. Incorrect value"); return; } else if (!(int.TryParse(tokens[1], out y))) { Console.WriteLine("Error. Incorrect value"); return; } do { Quotient Q2 = new Quotient(x, y); Q1.beEaser(); Q2.beEaser(); Quotient Q3; Q3 = Q1 + Q2; Console.WriteLine("Sum Quotient: {0}/{1}", Q3.GetNumerator(), Q3.GetDenominator()); Q3 = Q1 - Q2; Console.WriteLine("Subtraction Quotient: {0}/{1}", Q3.GetNumerator(), Q3.GetDenominator()); Q3 = -Q1; Console.WriteLine("Negative first Quotient: {0}/{1}", Q3.GetNumerator(), Q3.GetDenominator()); Q3 = Q1 * Q2; Console.WriteLine("Product Quotient: {0}/{1}", Q3.GetNumerator(), Q3.GetDenominator()); Q3 = Q1 / Q2; Console.WriteLine("Division Quotient: {0}/{1}", Q3.GetNumerator(), Q3.GetDenominator()); Quotient Q4 = new Quotient(5, 11); Console.WriteLine("{0}/{1} > {2}/{3} {4}", Q4.GetNumerator(), Q4.GetDenominator(), Q2.GetNumerator(), Q2.GetDenominator(), Q4 > Q2); cki = Console.ReadKey(); } while (cki.Key != ConsoleKey.Escape); } while (cki.Key != ConsoleKey.Escape); }
public static Quotient operator /(Quotient p1, Quotient p2) { Quotient t; if (p2.p > 0) t = new Quotient(p1.p * p2.q, p1.q * p2.p); else if (p2.p < 0) t = new Quotient(-p1.p * p2.q, Math.Abs(p1.q * p2.p)); else { Console.WriteLine("Error. Devided by 0"); t = new Quotient(0, 1); } t.beEaser(); return t; }
public static Quotient operator -(Quotient p1, Quotient p2) { Quotient t = new Quotient(p1.p * p2.q - p1.q * p2.p, p1.q * p2.q); t.beEaser(); return t; }