Loading...
patrik avatar patrik 26 Точки

[Homework] C# Basics - Conditional Statements - Problem {10} Beer Time

Здравейте имам проблем със взимането на въведения час

Console.WriteLine("Enter time");
DateTime dt = DateTime.Parse(Console.ReadLine());
Console.WriteLine(dt.ToString("hh:mm:tt"));

Въвеждам си примерно 10:55 всичко е ок, но ако въведа 22:55 конзолата ми отпечатва 10:55. Някой може ли да ми помоне?

Тагове:
0
Programming Basics 20/08/2014 14:10:28
Anonymous:
Има вече отворена тема за домашно Conditional Statements: https://softuni.bg/forum/questions/details/321
beBoss avatar beBoss 507 Точки

Махни последните две точки преди tt и пробвай пак.

"hh:mm tt"
2
ViValDam avatar ViValDam 15 Точки

Точно така си е зададен формата и във задачата !

hh:mm tt

-4
externo avatar externo 119 Точки

можеш да го направиш и така:

Console.WriteLine("Enter time");
DateTime dt = DateTime.Parse(Console.ReadLine());

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

2
g.stoyanov avatar g.stoyanov 776 Точки

Използвай HH вместо hh, HH е 24 часовия формат.

3
ZvetanIG avatar ZvetanIG 907 Точки

Ето и моето решение. Използвал съм  DateTime.TryParseExact.   Мисля, че е доста подходящ за случая.

http://pastebin.com/TUBED7Ge

11
genov1824 avatar genov1824 54 Точки

Много стегнато и добре написано, поздравления. Само трябва да поправиш условието във вторият ти if, защото от 1:00 PM e beer time, на теб ти връща non-beer time, трябва да сложиш и равно. 

0
ViValDam avatar ViValDam 15 Точки

Нещо дава грешки .

-4
ZvetanIG avatar ZvetanIG 907 Точки

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

2
patrik avatar patrik 26 Точки

 

 

Направих го както ми казахте и вече и отпечатва коректно формата, но сега винаги ми връща минутите като "03" няма значение какво число са. Примерно въвеждам 22:52 и ми връща 22:03

Console.WriteLine("Enter time");
DateTime dt = DateTime.Parse(Console.ReadLine());
Console.WriteLine(dt.ToString("HH:MM tt"));

и

0
G.Burlakova avatar G.Burlakova 36 Точки

Смени MM с mm. Така при мен излиза правилно. :)

1
G.Burlakova avatar G.Burlakova 36 Точки

Радвам се. А ето това е моето решение като не съм особено сигурна, че не дава грешки. Моля за мнения.

0
aslv1 avatar aslv1 304 Точки

Просто не става ли ръчно да обработваме числата от конзолата и да си построим правилен час?

0
ZvetanIG avatar ZvetanIG 907 Точки

Идеята е да упражним типа DateTime.

0
aslv1 avatar aslv1 304 Точки

Ето го и моят код!

Благодарности на ZvetanIG за неговото примерно решение.

И мисля, че това е много полезно за темата!

П. П. Установих, че h:mm tt е правилният формат (защото в примерите има както и едноцифрен, така и двуцифрен час).

2
StanDimitroff avatar StanDimitroff 90 Точки

Ето го и моето малко по-дърварско решение :)

0
orlinov avatar orlinov 11 Точки

Ето моето решение с допълнителни валидации на входа:

 

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