示例#1
0
        private void Calculate_Click(object sender, RoutedEventArgs e)
        {
            var IsValidatePrice       = Double.TryParse(InputPrice.Text, out var price);
            var IsValidateCustomerPay = Double.TryParse(InputCustomerPay.Text, out var customerPay);
            var change = sut.ComputeChange(price, customerPay);
            var result = sut.GetChangeBankNotesAndCoins(change);

            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.Thousand, out var Thousand);
            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.FiveHundreds, out var FiveHundred);
            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.Hundred, out var Hundred);
            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.Fifty, out var Fifty);
            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.Twenty, out var Twenty);
            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.Ten, out var Ten);
            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.Five, out var Five);
            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.One, out var One);
            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.TwentyFifth, out var TwentyFiveStang);
            result.BankNotesAndCoins.TryGetValue(BankNotesAndCoinsInSatang.Fiftieth, out var FiftyStang);
            if (IsValidatePrice && IsValidateCustomerPay && price >= 0 && customerPay >= 0 && customerPay >= price)
            {
                MoneyChangeResult.Text    = result.RoundedChange.ToString();
                countThousand.Text        = Thousand.ToString();
                countFiveHundred.Text     = FiveHundred.ToString();
                countHundred.Text         = Hundred.ToString();
                countFifty.Text           = Fifty.ToString();
                countTwenty.Text          = Twenty.ToString();
                countTen.Text             = Ten.ToString();
                countFive.Text            = Five.ToString();
                countOne.Text             = One.ToString();
                countTwentyFiveStang.Text = TwentyFiveStang.ToString();
                countFiftyStang.Text      = FiftyStang.ToString();
                StatusChange.Text         = "จ่ายเงินเรียบร้อย";
            }
            else
            {
                MoneyChangeResult.Text    = "";
                countThousand.Text        = "";
                countFiveHundred.Text     = "";
                countHundred.Text         = "";
                countFifty.Text           = "";
                countTwenty.Text          = "";
                countTen.Text             = "";
                countFive.Text            = "";
                countOne.Text             = "";
                countTwentyFiveStang.Text = "";
                countFiftyStang.Text      = "";
                StatusChange.Text         = "";
                StatusChange.Text         = "กรอกจำนวนเงินไม่ถูกต้อง";
            }
        }
示例#2
0
        static void Uri1018(string[] args)
        {
            int N;
            int Change;
            int Hundred, Fifty, Twenty, Ten, Five, Two, One;

            N = int.Parse(Console.ReadLine());

            Change = N;

            Hundred = Change / 100;
            Change  = Change - (Hundred * 100);

            Fifty  = Change / 50;
            Change = Change - (Fifty * 50);

            Twenty = Change / 20;
            Change = Change - (Twenty * 20);

            Ten    = Change / 10;
            Change = Change - (Ten * 10);

            Five   = Change / 5;
            Change = Change - (Five * 5);

            Two    = Change / 2;
            Change = Change - (Two * 2);

            One    = Change / 1;
            Change = Change - (One * 1);

            Console.WriteLine(N.ToString());
            Console.WriteLine(Hundred.ToString() + " nota (s) de R$ 100,00");
            Console.WriteLine(Fifty.ToString() + " nota (s) de R$ 50,00");
            Console.WriteLine(Twenty.ToString() + " nota (s) de R$ 20,00");
            Console.WriteLine(Ten.ToString() + " nota (s) de R$ 10,00");
            Console.WriteLine(Five.ToString() + " nota (s) de R$ 5,00");
            Console.WriteLine(Two.ToString() + " nota (s) de R$ 2,00");
            Console.WriteLine(One.ToString() + " nota (s) de R$ 1,00");
        }
示例#3
0
        /// <summary>
        /// Gives me money.
        /// </summary>
        /// <param name="money">The money.</param>
        public static void GiveMeMoney(int money)
        {
            // Setup entities
            Cash hundred = new Hundred();
            Cash fifty   = new Fifty();
            Cash twenty  = new Twenty();
            Cash ten     = new Ten();
            Cash five    = new Five();

            // Setup Chain of Responsibility
            hundred.SetSuccessor(fifty);
            fifty.SetSuccessor(twenty);
            twenty.SetSuccessor(ten);
            ten.SetSuccessor(five);

            // Generate and process ATM requests
            int moneyInBank = 1000;
            var bank        = new Bank(moneyInBank / 100, moneyInBank / 50, moneyInBank / 20, moneyInBank / 10, moneyInBank / 5);

            // hundred.ProcessRequest(money, bank);

            // Testing multiple requests
            for (int i = 1; i < 150; i++)
            {
                // Request #i
                Console.WriteLine("Request #{0}\n", i);
                Console.WriteLine("Amount requested: {0}€", money);
                Console.WriteLine("Amount available: {0}€\n", bank.GetTotal());
                hundred.ProcessRequest(money, bank);
                Console.WriteLine("\nEnd Of Request #{0}\n-----------------\n", i);

                var randomNumber = new Random().Next(5, 200);
                money = ((int)(randomNumber / 5)) * 5;
            }

            // Wait for user
            Console.ReadKey();
        }
示例#4
0
 public void HaveCorrectSizes() =>
 Hundred.Times(() =>
 {
     var size = RandomSize();
     layouter.PutNextRectangle(size).Size.Should().Be(size);
 });
示例#5
0
        public void HundredCodeTest()
        {
            Hundred hundred = new Hundred();

            Assert.AreEqual(hundred.Code, "$100");
        }
示例#6
0
 public Decimal BookPriceToOdds()
 {
     return(Hundred.DividedBy(this).Round(2));
 }
示例#7
0
 public Decimal OddsToBookPrice()
 {
     return(Hundred.DividedBy(this));
 }