예제 #1
0
        public bool giveResidue()
        {
            CoinsBox coinsBox   = new CoinsBox(_coinsBox.oneRubleCoinsCount, _coinsBox.twoRubleCoinsCount, _coinsBox.fiveRubleCoinsCount, _coinsBox.tenRubleCoinsCount);
            int      tryDeposit = deposit;
            int      i10;

            i10 = tryDeposit / 10;
            if (i10 > 0)
            {
                if (i10 > coinsBox.tenRubleCoinsCount)
                {
                    tryDeposit -= coinsBox.tenRubleCoinsCount * 10;
                    coinsBox.removeTenRubleCoins(coinsBox.tenRubleCoinsCount);
                }
                else
                {
                    tryDeposit -= i10 * 10;
                    coinsBox.removeTenRubleCoins(i10);
                }
            }


            i10 = tryDeposit / 5;
            if (i10 > 0)
            {
                if (i10 > coinsBox.fiveRubleCoinsCount)
                {
                    tryDeposit -= coinsBox.fiveRubleCoinsCount * 5;
                    coinsBox.removeFiveRubleCoins(coinsBox.fiveRubleCoinsCount);
                }
                else
                {
                    tryDeposit -= i10 * 5;
                    coinsBox.removeFiveRubleCoins(i10);
                }
            }

            i10 = tryDeposit / 2;
            if (i10 > 0)
            {
                if (i10 > coinsBox.twoRubleCoinsCount)
                {
                    tryDeposit -= coinsBox.twoRubleCoinsCount * 2;
                    coinsBox.removeTwoRubleCoins(coinsBox.twoRubleCoinsCount);
                }
                else
                {
                    tryDeposit -= i10 * 2;
                    coinsBox.removeTwoRubleCoins(i10);
                }
            }

            i10 = tryDeposit / 1;
            if (i10 > 0)
            {
                if (i10 > coinsBox.oneRubleCoinsCount)
                {
                    tryDeposit -= coinsBox.oneRubleCoinsCount * 1;
                    coinsBox.removeOneRubleCoins(coinsBox.oneRubleCoinsCount);
                }
                else
                {
                    tryDeposit -= i10 * 1;
                    coinsBox.removeOneRubleCoins(i10);
                }
            }

            if (tryDeposit != 0)
            {
                return(false);
            }
            _coinsBox = coinsBox;
            deposit   = tryDeposit;
            return(true);
        }
예제 #2
0
        public bool giveResidue()
        {
            CoinsBox coinsBox = new CoinsBox(_coinsBox.oneRubleCoinsCount, _coinsBox.twoRubleCoinsCount, _coinsBox.fiveRubleCoinsCount, _coinsBox.tenRubleCoinsCount);
            int tryDeposit = deposit;
            int i10;
            i10 = tryDeposit / 10;
            if (i10 > 0)
            {
                if(i10 > coinsBox.tenRubleCoinsCount)
                {
                    tryDeposit -= coinsBox.tenRubleCoinsCount * 10;
                    coinsBox.removeTenRubleCoins(coinsBox.tenRubleCoinsCount);
                }
                else
                {
                    tryDeposit -= i10 * 10;
                    coinsBox.removeTenRubleCoins(i10);
                }
            }

            i10 = tryDeposit / 5;
            if (i10 > 0)
            {
                if (i10 > coinsBox.fiveRubleCoinsCount)
                {
                    tryDeposit -= coinsBox.fiveRubleCoinsCount * 5;
                    coinsBox.removeFiveRubleCoins(coinsBox.fiveRubleCoinsCount);
                }
                else
                {
                    tryDeposit -= i10 * 5;
                    coinsBox.removeFiveRubleCoins(i10);
                }
            }

            i10 = tryDeposit / 2;
            if (i10 > 0)
            {
                if (i10 > coinsBox.twoRubleCoinsCount)
                {
                    tryDeposit -= coinsBox.twoRubleCoinsCount * 2;
                    coinsBox.removeTwoRubleCoins(coinsBox.twoRubleCoinsCount);
                }
                else
                {
                    tryDeposit -= i10 * 2;
                    coinsBox.removeTwoRubleCoins(i10);
                }
            }

            i10 = tryDeposit / 1;
            if (i10 > 0)
            {
                if (i10 > coinsBox.oneRubleCoinsCount)
                {
                    tryDeposit -= coinsBox.oneRubleCoinsCount * 1;
                    coinsBox.removeOneRubleCoins(coinsBox.oneRubleCoinsCount);
                }
                else
                {
                    tryDeposit -= i10 * 1;
                    coinsBox.removeOneRubleCoins(i10);
                }
            }

            if (tryDeposit != 0) { return false; }
            _coinsBox = coinsBox;
            deposit = tryDeposit;
            return true;
        }