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

[Homework] C# Basics - Introduction to programming - Problem{15} - Age After 10 Years

Здравейте,

Имам няколко въпроса относно задача 15 от домашното. Ето и условието:

Write a program to read your birthday from the console and print how old you are now and how old you will be after 10 years. 

Исках да направя проверка за правилно въведен формат на датата преди изчисляването на годините. За целта използвах DateTime.TryParseExact, но ако въведем дата от сорта на 1991.24.24 кода не го разчита като грешка.

Също така исках да коригирам броенето на годините в зависимост дали рождения ден за тази година ни предстои или не, но нещо не работи.

Бихте ли ми помогнали да го оправя?

https://gist.github.com/anonymous/43761d227182dc188500

Edit: кода е оправен :)

0
Fundamentals Module 21/12/2015 01:43:02
Innos avatar Innos SoftUni Team 419 Точки

Първото което забелязвам е че във формата който си специфицирал пише "mm" вместо "MM", mm е форматирането за минути, затова приема 24 защото мисли че подаваш минути вместо месеци за DateTime format strings погледни този линк . Кода за adjust-ване на възрастта ми изглежда ок, какъв проблем ти прави? Най-вероятно е от проблема в parse-ването, само ще ти препоръчам да си обърнеш формата в единични символи ("yyyy-M-d" , само по 1 M и 1 d), защото по спомени формат от типа "yyyy-MM-dd" ще приеме дата като 2000-05-24, но няма да приеме дата от типа 2000-5-24 (без излишната нула), докато формата "yyyy-M-d" ще приеме и 2те дати ок, разбира се най-добре ги тествай.

1
19/12/2015 03:17:05
RangelStoilov avatar RangelStoilov 0 Точки

Проблема е бил изцяло в "ММ" вместо "mm". Поради тази причина не е сработвало adjust-ването защото датата я е възприемало само като година. Мерси за помоща :)

0