Esempio n. 1
0
        static int[] zn = { 1, 2, 5, 10 }; //номиналы монет по возростанию

        #endregion Fields

        #region Methods

        static void Main(string[] args)
        {
            pok p = new pok();
            avt a = new avt();
            string s;
            s = Console.ReadLine();//считываем первую команду
            while (s != "end")
            {
                if (s[0] == '+')//s="+*необходимая сумма*"
                {
                    int sum = 0;//сумма
                    int j = 1;
                    while (s.Length > j)
                    {
                        sum = sum * 10 + (s[j] - '0');
                        j++;
                    }
                    if (p.if_phs(sum))//если денег хватает,
                    {
                        p.vp(sum, a);
                    }
                    else
                    {
                        Console.WriteLine("не хватает денег");
                    }
                }
                if (s[0] == 'b')
                {
                    int n = -1;
                    if (s[4] == 'c')//s="buy cupcakes"
                    {
                        n = 0;
                    }
                    if (s[4] == 'b')//s="buy biscuits"
                    {
                        n = 1;
                    }
                    if (s[4] == 'w')//s="buy wafers"
                    {
                        n = 2;
                    }
                    if (n != -1)
                    {
                        a.kpc(n);
                    }
                    else
                    {
                        Console.WriteLine("некорректная команда");
                    }
                }
                if (s[0] == 'd')//s="delivery"
                {
                    for (int i = 3; i >= 0; i--)//начиная с монет максимального номинала
                    {
                        p.pol(i, a.sd(i));//выдаем сумму частями
                    }
                    a.pr_s();//проверяем полноту сдачи
                }
                s = Console.ReadLine();//считываем следующую команду
            }
        }
Esempio n. 2
0
 //выплатa указанному автомату некой суммы
 public void vp(int s, avt a)
 {
     string ss = "";
     for (int i = 3; i >= 0; i--)//начиная с монет максимального номинала
     {
         int sv = s - s % zn[i];//определение суммы, оплачиваемой монетами соответствующего номинала
         s = s - sv;
         sum = sum - sv;
         sv = sv / zn[i];
         a.pol(i, sv);
         if (sv != 0)
         {
             if (ss != "")
             {
                 ss = ss + ", ";
             }
             ss = ss + "передано " + sv + " монет номиналом в " + zn[i] + " рублей";
         }
     }
     Console.WriteLine(ss + ".");
 }
Esempio n. 3
0
 public WorldObject(avt instance) : base(instance)
 {
     _internal = instance;
 }