[Programming Basics] [C#] Логически проверки - 15. Time + 15 Minutes
Това е решението ми - 47/100.:
https://pastebin.com/Gkhawd0j
Може ли някой да ми каже по друг начин как може да се направи тази задача?Най-вече какви са най-удобните варианти за слагане на нула пред число?
Другият ми въпрос е как да накарам джъджа да ми дава 100/100 ??
от всички решения тук само @VasilKotsev се е сетил къде е истината,тея цикли проверки дето някои сте ги въртяли са ужас...
datetime или дори в случая timespan са наи-удобното решение.
Колега, идеята е да ползваме проверки, които да разберем като хората, а не материал, който не сме взели. Затова и по-правилното е да ползваме точно тях, а не DateTime. Никой не спори кое е по-удобното, но не се търси по-удобно, а спрямо материала. То за някоя от другите задачи също вероятно има елементарно решение, както switch-а за конвертора на валути/мерни единици, ама не сме го взели, така че се борим с взетото като материал. Дори в подсказката на задачата е описано да се правят проверки.
И за да не е само офтопик, ето и моето решение, което даде 100/100 и смятам, че е първо елементарно, второ е направено само с изучения до тук материал.
double inHour = double.Parse(Console.ReadLine());
double inMinutes = double.Parse(Console.ReadLine());
double hours = inHour;
double minutes = inMinutes + 15;
if (hours <= 22 && minutes >= 60)
{ hours += 1;
minutes = minutes - 60; }
else if (hours >= 23 && minutes >= 60)
{ hours = hours - hours;
minutes = minutes - 60; }
Console.WriteLine(hours + ":" + minutes.ToString("00"));
Първо това не са цикли а логически проверки :D второ на лекцията 100% са споменали и datetime timespan и тн. 3то ако чакате да се научите само от лекции успех иска се адски много ровене и четене сами. Затова от самото начало се повтаря,че английския е задължителен.
И последно имаш начин по който да направиш нещата бързо и лесно и друг при който може да изгърмиш някоя от проверките. Познаи кои е правилния начин?