Софтуерно Инженерство
Loading...
+ Нов въпрос
g.hristiyana avatar g.hristiyana 1 Точки

Programming-Basics August 2016 - Time + 15 Minutes

Здравейте, някой може ли да погледне решението на задачата ми. Максимума, който постигам е 58%. Липсват ми някои проверки, но всичко, което успях да напиша счупва кода ми още повече. 

http://pastebin.com/MWz44YpS

Тагове:
Pilgrimage avatar Pilgrimage 515 Точки

Не трябва да имаш "24 часа".

От "23 часа" отиваш на  "0 часа".

Така, че тук :
 

 if (hour == 23 && after15min > 59)

            {

                Console.WriteLine(01 + ":" + after15min);

Трябва да е 00.

Прегледай и си оправи и по-нататък логиката.

Ако новите минути са повече от 59, увеличаваме часа.

След това проверяваме дали часа е повече от 23 (или пък равен на 24) и ако е така, го приравняваме на 0.

0
puffed avatar puffed 289 Точки

На друг thread по същата тема един колега (за жалост не мога да го намеря сега, за да го цитирам точн0) предложи много добро решение на тази задача, което сега пренаписвам по спомен, но го тествах и работи за 100. Това решение би работило за всякакъв краен час, ако 15-те минути не са хардкоднати, а се подават от конзолата.

public static void Main()
        {
            var hour = int.Parse(Console.ReadLine());
            var minutes = int.Parse(Console.ReadLine());

            var beginTime = hour * 60 + minutes;
            var endTime = beginTime + 15;

            var endHour = (endTime / 60) % 24;
            var endMinutes = endTime % 60;

            Console.WriteLine("{0}:{1:00}", endHour, endMinutes);
        }

0