static void Main(string[] args)
        {
            ReplaceString rs          = new ReplaceString();
            FlipCoin      fc          = new FlipCoin();
            LeapYear      ly          = new LeapYear();
            Harmonic      harmonic    = new Harmonic();
            PowerOfTwo    powerOfTwo  = new PowerOfTwo();
            Factors       factors     = new Factors();
            Gambler       gambler     = new Gambler();
            CouponNumber  coupon      = new CouponNumber();
            SumOfThree    sumOfThree  = new SumOfThree();
            Distance      distance    = new Distance();
            Array2D       array       = new Array2D();
            StopWatch     stopWatch   = new StopWatch();
            Quadratic     quadratic   = new Quadratic();
            WindChill     wind        = new WindChill();
            Permutation   permutation = new Permutation();
            TicTacToe     ttt         = new TicTacToe();

            Console.WriteLine("1.ReplaceString");
            Console.WriteLine("2.FlipCoin");
            Console.WriteLine("3.LeapYear");
            Console.WriteLine("4.PowerOfTwo");
            Console.WriteLine("5.HarmonicNumber");
            Console.WriteLine("6.PrimeFactors");
            Console.WriteLine("7.Gambler");
            Console.WriteLine("8.Coupon Number");
            Console.WriteLine("9.Array2D");
            Console.WriteLine("10.SumOfThree");
            Console.WriteLine("11.Distance");
            Console.WriteLine("12.StopWatch");
            Console.WriteLine("13.Quadratic");
            Console.WriteLine("14.WindChill");
            Console.WriteLine("15. Permutation");
            Console.WriteLine("16.TicTacToe");
            Console.WriteLine("please enter the programe number which you want to execute");
            int choice = Utility.ReadInteger();

            switch (choice)
            {
            case 1: Console.WriteLine(rs.ReplaceStrings());
                break;

            case 2: fc.FlipCoins();
                break;

            case 3: ly.LeapYears();
                break;

            case 4: powerOfTwo.PowerOf2();
                break;

            case 5: harmonic.HarmonicNumber();
                break;

            case 6: factors.PrimeFactors();
                break;

            case 7: gambler.StartGambler();
                break;

            case 8: CouponNumber.GenerateCouponNumber();
                break;

            case 9: array.readArray();
                break;

            case 10: sumOfThree.GenerateSumOfThree();
                break;

            case 11: distance.CalculateDistance();
                break;

            case 12: stopWatch.CalculateElapsedTime();
                break;

            case 13: quadratic.CalculateRoots();
                break;

            case 14: wind.CalculateWindChill();
                break;

            case 15: permutation.StringPermutation();
                break;

            case 16: ttt.TicTacToeFunction();
                break;
            }
        }
        /// <summary>
        /// Defines the entry point of the application.
        /// </summary>
        /// <param name="args">The command line arguments.</param>
        public static void Main(string[] args)
        {
            try
            {
                string[] programs =
                {
                    "Username",       "Head&Tails",   "LeapYear",     "TableforPowerof2 COMMAND LINE ARGUMENTS NEEDED",
                    "HarmonicNumber", "PrimeFactors", "Gambler",      "CouponNumber",                                  "2dArray",
                    "Sumof3toZero",   "Distance",     "Permutations", "StopWatch",                                     "TicTacToe", "Quadratic",
                    "WindChill COMMAND LINE ARGUMENTS NEEDED"
                };
                int i, number;
                for (i = 0; i < programs.Length; i++)
                {
                    Console.WriteLine("Enter {0} for {1}", i + 1, programs[i]);
                }

                int flag = 1;
                do
                {
                    for (i = 0; i < programs.Length; i++)
                    {
                        Console.WriteLine("Enter {0} for {1}", i + 1, programs[i]);
                    }

                    Console.WriteLine();
                    Console.WriteLine("Enter question number of program to execute it and Enter 0 to close");
                    try
                    {
                        number = Convert.ToInt32(Console.ReadLine());
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        Console.WriteLine("Please try entering value again again");
                        number = Utility.IsInteger(Console.ReadLine());
                    }

                    Console.WriteLine("num : {0}", number);
                    switch (number)
                    {
                    case 0:
                        return;

                    case 1:
                        UserName f = new UserName();
                        f.UserInput();
                        break;

                    case 2:
                        FlipCoin c = new FlipCoin();
                        c.Toss();
                        break;

                    case 3:
                        LeapYear ly = new LeapYear();
                        ly.Leap();
                        break;

                    case 4:
                        PowerOfTwo p = new PowerOfTwo();
                        p.PowerTwo(Convert.ToInt32(args[0]));
                        break;

                    case 5:
                        Harmonic h = new Harmonic();
                        h.NHarmonic();
                        break;

                    case 6:
                        PrimeFactors fa = new PrimeFactors();
                        fa.PrimeFactorsfor();
                        break;

                    case 7:
                        Gambler g = new Gambler();
                        g.GamblerGame();
                        break;

                    case 8:
                        Coupon co = new Coupon();
                        co.CouponGame();
                        break;

                    case 9:
                        ArrayTwoDim atd = new ArrayTwoDim();
                        atd.Array2D();
                        break;

                    case 10:
                        ZeroTriplets zt = new ZeroTriplets();
                        zt.Triplets();
                        break;

                    case 11:
                        Distance di = new Distance();
                        di.SqrtDistance();
                        break;

                    case 12:
                        Permutations pe = new Permutations();
                        pe.StringPermutations();
                        break;

                    case 13:
                        StopWatch sw = new StopWatch();
                        sw.StopWatchDemo();
                        break;

                    case 14:
                        TicTacToe tt = new TicTacToe();
                        tt.TicTacToeDemo();
                        break;

                    case 15:
                        Quadratic q = new Quadratic();
                        q.QuadraticDemo();
                        break;

                    case 16:
                        WindChill wc = new WindChill();
                        wc.WindChillDemo(Convert.ToDouble(args[1]), Convert.ToDouble(args[2]));
                        break;

                    default:
                        Console.WriteLine("Not yet created");
                        flag = 0;
                        break;
                    }

                    Console.ReadKey();
                    Console.Clear();
                }while (flag == 1);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }