コード例 #1
0
        //购买者交互
        public void AskBuying()
        {
            Console.WriteLine("请问您需要什么?");
            Console.WriteLine("我们这有Acer,Samsung,JianYou,Banana");
            string strType = Console.ReadLine();

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

            ProductFather[] pros      = ck.QuPros(strType, count);
            double          realMoney = GetMoney(pros);

            Console.WriteLine("总共需要{0}", realMoney);
            Console.WriteLine("请选择您的打折方式1---不打折,2---打九折,3---打85折,4---买300送50,5---买500送100");
            string input = Console.ReadLine();
            //通过简单工厂得到实际应付的钱
            CalFather cal      = GetCal(input);
            double    payMoney = cal.GetMoney(realMoney);

            Console.WriteLine("打完折后实际应付{0}", payMoney);
            Console.WriteLine("以下是您的购物信息");
            foreach (var item in pros)
            {
                Console.WriteLine("货物名称{0},货物单价{1},货物编号{2}", item.Name, item.Price, item.ID);
            }
        }
コード例 #2
0
        public CalFather GetCal(string input)
        {
            CalFather cal = null;

            switch (input)
            {
            case "1": cal = new CalNormal();
                break;

            case "2": cal = new CalRate(0.9);
                break;

            case "3": cal = new CalRate(0.85);
                break;

            case "4": cal = new CalMN(300, 50);
                break;

            case "5": cal = new CalMN(500, 100);
                break;
            }
            return(cal);
        }