コード例 #1
0
ファイル: SuperMarket.cs プロジェクト: MaYunshan/Code
        /// <summary>
        /// 询问客户需要的商品及数量
        /// </summary>
        public void AskCustomer()
        {
            Console.WriteLine("欢迎光临,请问您需要些什么?");
            Console.WriteLine("我们有Banana Samsung Computer");
            string prodType = Console.ReadLine();

            Console.WriteLine("请问你需要多少?");
            int count = Convert.ToInt32(Console.ReadLine());

            BaseProduct[] prods = prodHouse.Fetch(prodType, count);

            double Money = GetPrice(prods);

            Console.WriteLine("你一共需要支付" + Money + "元");

            Console.WriteLine("请选择你的折扣方式");
            Console.WriteLine("\t1--不打折");
            Console.WriteLine("\t2--打九折");
            Console.WriteLine("\t3--打八五折");
            Console.WriteLine("\t4--满300减50");
            Console.WriteLine("\t5--满500减100");

            //通过简单工厂设计模式获得用户的打折模式
            string       input      = Console.ReadLine();
            BaseDiscount dis        = GetDiscount(input);
            double       finalMoney = dis.GetAfterDiscountMoney(Money);

            Console.WriteLine("打完折以后的总金额是{0}", finalMoney);
        }
コード例 #2
0
ファイル: SuperMarket.cs プロジェクト: MaYunshan/Code
        /// <summary>
        /// 根据用户的输入选择折扣类型
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public BaseDiscount GetDiscount(string input)
        {
            BaseDiscount dis = null;

            switch (input)
            {
            case "1": dis = new NoDiscount();
                break;

            case "2": dis = new DiscountRate(0.9);
                break;

            case "3": dis = new DiscountRate(0.85);
                break;

            case "4": dis = new DiscountBuyMSendN(300, 50);
                break;

            case "5": dis = new DiscountBuyMSendN(500, 100);
                break;
            }
            return(dis);
        }