Loading...
BorislavShekerdzhiyski avatar BorislavShekerdzhiyski 2 Точки

Проблем със задача 16 "Време + 15 минути"

Здравейте , може ли някой да ми помогне с тази задача, немога да си открия грешката.

При проверка за 23 часа и 59 мин. би трябвало на "Изхода" да ми изпише 0:14, но изписва 24:14.

Ето и сорс кода. http://pastebin.com/i40ADpPF

П.С В Джъджа съм на 82%!

Предварително благодаря!

 

Тагове:
0
Programming Basics
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Научи се да дебъгваш.

Проверката ти за посочения час попада тук:

if (minplus15 > 59)

            {

                minplus15-=60;

                hour+=1;

          }

и няма как да попадне при else-a.

If else работи така: Първо се проверява if условието и ако то е вярно, се изпълнява блок кодът на if, а else не се проверява, Ако if условието не е вярно се продължава с проверна на else.

0
26/08/2016 07:20:26
borislav9212 avatar borislav9212 745 Точки

Здравей, трябва ти една проверка:

            if (hour == 24)
            {
                hour = 0;
            }

и кода ти дава 100/100. Целият ти код.

0
VanessaShopping avatar VanessaShopping 48 Точки

Грешката ти тук е ,че ако първата проверка ( if ) е вярна НИКОГА няма да направи втората проверка. По този начин ако първото условие е вярно и едновременно с това  часовете надвишават 23 , часът няма да се занули, защото втората else if проверка няма да се изпълни.

Пробвай да направи вложен иф. Предполагам (  не съм чел условието на задачата) ,че входът на часовете е от 0 до 23.

if (minplus15 > 59)

{

         minplus15 -=60;

         hour +=1;

// Ако вече си увеличил часовете с 1 може да направи още една проверка дали часовете са станали повече от 23

              if (hour>23) hour = 0;

}

 

Или другия вариянт е просто премахни ELSE :) така ще станат две проверки една след друга.

Иф минутите са повече от 59 направи това

Иф часовете са повече от 23 направи това

0
26/08/2016 09:30:50
BorislavShekerdzhiyski avatar BorislavShekerdzhiyski 2 Точки

Благодаря за бързите отговори!

Схванах къде ми е грешката, то било елементарно(след като някой ти даде напътствия ).

10x again :)))

0
jivako000 avatar jivako000 296 Точки

Здравей! Това е моето решение! Ако имаш въпроси - тук съм!

using System;

class Program
    {
        static void Main(string[] args)
        {
            var hour = int.Parse(Console.ReadLine());
            var minutes = int.Parse(Console.ReadLine());

            minutes = minutes + 15;
            if (minutes >= 60)
            {
                hour = hour + 1;
                minutes = minutes - 60;
            }

            if (hour >= 24)
            {
                hour = hour - 24;
            }
            Console.WriteLine("{0}:{01:00}", hour, minutes);
        }
    }

0
IvanRomanski avatar IvanRomanski 1 Точки

Здравей!

Искам да питам, защо вторя place holder е изписан по този начин а не прото {1}?

 

Благодаря предварително!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.