Loading...
KatyaAtanasowa avatar KatyaAtanasowa 0 Точки

Грешка на 09. On time for exam C#

https://pastebin.com/3Fg5e3tY Това ми е кода. Изкарва грешка на Тест#11 , не мога да видя къде бъркам а ми дава 93/100. Може ли някой да ми обясни къде бъркам и как да се справям когато в Judge ми дава грешка без обяснение?

Тагове:
0
Programming Basics
VasilKotsev avatar VasilKotsev 830 Точки

Добре де не ви ли учат как да си именувате правилно променливите в basics ? Хубаво спазваш "camelCase", но защо променливите са ти на маймуница... Задават се описателни, ако е възможно кратки имена на Английски език. Judge не ти дава обяснение защото Test #11 е реален а не нулев. Нулевите тестове са с отворен output и обикновено там можеш да си откриеш грешката освен ако автора на задачата не иска да се сетите сами за някакъв граничен случай. Започни да си измисляш сама тестове така ще я откриеш. Предполагам си се оплела в проверките някъде, но нямам възможност да дебъгвам в момента.

Така не се правят операции с времена/дати има си специален тип данни за работа с тях. Погледни документацията на MS за TimeSpan/DateTime би трябвало да са ги споменали вече.

0
Filkolev avatar Filkolev 4482 Точки

DateTime и TimeSpan не се изучават в Programming Basics. Целта на задачата е да се упражнят прости сметки с числа и проверки.

0
Filkolev avatar Filkolev 4482 Точки

Освен коментара относно именуването на променливите, още няколко препоръки.

Ползвай цели числа, тук нищо не налага ползването на double.

Имаш грешка при принтирането на минутите. В условието се иска да принтираш минутите с 0 отпред само в случаите, когато подраняването/закъснението е поне час. Тоест вложената проверка тук е излишна:

if (ostatukChas < 1)
{
    if (ostatukMin < 10)
    {
        Console.WriteLine($"0{ostatukMin} minutes before the start");
    }
    else
    {
        Console.WriteLine($"{ostatukMin} minutes before the start");
    }
}

Друга препоръка е да ползваш начините за форматиране на числа, вместо проверки за въпросната нула. Например:

Console.WriteLine($"{hoursEarly}:{minutesEarly:d2} hours before the start");

Това се грижи да сложи водеща нула ако числото е едноцифрено и няма ефект ако е двуцифрено.

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