Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            List <Fraction> fractions = new List <Fraction>()
            {
                Fraction.GetFraction("1/2"),
                Fraction.GetFraction("2/4"),
                Fraction.GetFraction("15,69"),
                Fraction.GetFraction("21"),
                Fraction.GetFraction("1/2"),
                Fraction.GetFraction("2/4"),
                Fraction.GetFraction("15,69"),
                Fraction.GetFraction("21"),
                Fraction.GetFraction("1/2"),
                Fraction.GetFraction("2/4"),
                Fraction.GetFraction("15,69"),
                Fraction.GetFraction("21")
            };


            fractions.Add(fractions[0] + fractions[2]);
            fractions.Add(fractions[3] - fractions[1]);
            fractions.Add(fractions[6] * fractions[4]);
            fractions.Add(fractions[5] / fractions[7]);
            fractions.Add(fractions[3].Clone() as Fraction);

            Console.WriteLine("List of all fractions:");
            fractions.ForEach(i => Console.WriteLine("{0:S}", i));

            Console.WriteLine("\noutput fraction in different formats:");
            Fraction testFraction = new Fraction(-42, 13);

            Console.WriteLine("{0:S}", testFraction);
            Console.WriteLine("{0:M}", testFraction);
            Console.WriteLine("{0:D}", testFraction);
            Console.WriteLine("{0:I}", testFraction);


            Console.WriteLine("\nCoversion:");
            Console.WriteLine((short)testFraction);
            Console.WriteLine((int)testFraction);
            Console.WriteLine((long)testFraction);
            Console.WriteLine((float)testFraction);
            Console.WriteLine((double)testFraction);
            Console.WriteLine(Convert.ToBoolean(testFraction));
            Console.WriteLine(Convert.ToString(testFraction));

            Console.WriteLine("\nComparison:");
            Console.WriteLine(fractions[0] == fractions[1]);
            Console.WriteLine(fractions[3] != fractions[5]);
            Console.WriteLine(fractions[6] < fractions[8]);
            Console.WriteLine(fractions[1] >= fractions[7]);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            //different constructors and string formats
            List <Fraction> fractions = new List <Fraction>()
            {
                new Fraction(5),
                new Fraction(2, 3),
                new Fraction(1.45),
                Fraction.GetFraction("5/3"),
                Fraction.GetFraction("-3(1/2)"),
                Fraction.GetFraction("15,69"),
                Fraction.GetFraction("21")
            };

            Console.WriteLine("YES");

            //overload operations
            fractions.Add(fractions[0] + fractions[2]);
            fractions.Add(fractions[3] - fractions[1]);
            fractions.Add(fractions[6] * fractions[4]);
            fractions.Add(fractions[5] / fractions[7]);

            //use Clone
            fractions.Add(fractions[3].Clone() as Fraction);


            Fraction testFraction = new Fraction(-42, 13);

            Console.WriteLine("Try to convert fraction to unsuported format: ");
            try
            {
                testFraction.ToString("The string");
            }
            catch (FormatException ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("\nTry get fraction using unssuported format:");
            try
            {
                fractions.Add(Fraction.GetFraction("The string"));
            }
            catch (FormatException ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("\nTry to add fraction with denominator = 0 :");
            try
            {
                fractions.Add(new Fraction(12, 0));
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("\nTry to add fraction with denominator < 0 :");
            try
            {
                fractions.Add(new Fraction(12, -3));
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(ex.Message);
            }


            Console.WriteLine("\nList of all fractions:");
            fractions.ForEach(i => Console.WriteLine("{0:S}", i));


            Console.WriteLine("\noutput fraction in different formats:");
            Console.WriteLine("{0:S}", testFraction);
            Console.WriteLine("{0:M}", testFraction);
            Console.WriteLine("{0:D}", testFraction);
            Console.WriteLine("{0:I}", testFraction);


            Console.WriteLine("\nCoversion:");
            Console.WriteLine((short)testFraction);
            Console.WriteLine((int)testFraction);
            Console.WriteLine((long)testFraction);
            Console.WriteLine((float)testFraction);
            Console.WriteLine((double)testFraction);
            Console.WriteLine(Convert.ToBoolean(testFraction));
            Console.WriteLine(Convert.ToString(testFraction));

            Console.WriteLine("\nComparison:");
            Console.WriteLine(fractions[0] == fractions[9]);
            Console.WriteLine(fractions[3] != fractions[5]);
            Console.WriteLine(fractions[6] < fractions[8]);
            Console.WriteLine(fractions[1] >= fractions[7]);
        }