Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Не работает правельно цикл


Автор: rossi46 3.2.2012, 14:59
class Program
    {
        static void Main(string[] args)
        {
            Int64 summa = 0, b500 = 0, b100 = 0, b10 = 0, b5 = 0,b2=0, b1 = 0;
            Console.WriteLine("Введите сумма денег для расчета");
            summa = Convert.ToInt64(Console.ReadLine());
           do
           { 
               if (summa % 500 >= 1)
                    {
                    summa = summa - 500;
                    b500++;
                    }    
                            else if (summa % 100 >= 1)
                                        {
                                            summa = summa - 100;
                                            b100++;
                                                }
                                                else if (summa % 10 >= 1)
                                                               {
                                                                summa = summa - 10;
                                                                b10++;
                                                                }
                                                                else if (summa % 5 >= 1)
                                                                            {
                                                                              summa = summa - 5;
                                                                              b5++;
                                                                             }
                                                                                else if (summa % 2 >= 1)
                                                                                            {
                                                                                             summa = summa - 2;
                                                                                             b2++;
                                                                                             }
                                                                                                else
                                                                                                        {
                                                                                                        b1 = summa;
                                                                                                        summa = 0;
                                                                                                           }
                                                                                      
                                                      

                               
    
           }
           
while(b1>=1);
 Console.WriteLine("Количество купюр для выдачи суммы {0} пятисоток, {1} соток, {2} десяток, {3} пятерок, {4} двоек и {5} единичных банкнот", b500,b100,b10,b5,b2,b1);
            Console.ReadLine();} 
    }

Добавлено через 3 минуты и 53 секунды
собственно меня смущает тот факт что выход происходит по while(b1>0) когда b1 равно 0

Автор: boevik 3.2.2012, 15:17
Цитата(rossi46 @  3.2.2012,  14:59 Найти цитируемый пост)
собственно меня смущает тот факт что выход происходит по while(b1>0) когда b1 равно 0

всё верно, условие false поэтому и выходит из цикла

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)