Loading...
remote87 avatar remote87 121 Точки

Textbook Exercise 11 1st Lecture - Age after 10 years

Здравейте!

Дано не се приеме за спам, но реших да споделя и едно мое решение на тази задача / простичко, но ефективно / :

using System;

namespace _06.AgeAfterTenYears
{
    class AgeAfterTenYears
    {
        static void Main()
        {          
            Console.WriteLine("Enter your birth date like this 16/05/1987 :");
            DateTime date = Convert.ToDateTime(Console.ReadLine());
            DateTime today = DateTime.Today;
            int age = today.Year - date.Year;
            Console.WriteLine("Now you are {0} years old.", age);
            int a = 10;
            Console.WriteLine("After ten years you will be {0} years old.", (age + a));
        }
    }
}

Само не ми стана ясно, дали има вариант DateTime да се въведе само година?

Тагове:
0
Programming Basics
Lamms avatar Lamms 197 Точки

Това е много опростен вариант. Идеята е потребителят да си въвежда сам рождената дата, като така задачата се усложнява, защото трябва да се правят проверки за месеца и датата на раждане. Твоето решение не работи, ако човекът е роден на 16/10, пак ще даде 28, а човекът е на 27.

1
remote87 avatar remote87 121 Точки

Принципно е така, но ето условието, копирано точно от учебника:

11.   Направете програма, която прочита от конзолата вашата възраст и изписва (също на конзолата) каква ще бъде вашата възраст след 10 години.

Никъде не се споменава за месец и т.н.

Иначе - приемам забележката и сега започвам да ровя, как да го коригирам и да хваща и месеца и спрямо него да изчислява :)

П.С. току що гледах видео на Наков / вярно по време на лекция /, но по същото условие го смята само за годината и дори не използва DateTime, може би затова съм се подвел и съм го написал така...Наков е виновен :D

 

0
Lamms avatar Lamms 197 Точки

В задачата пише да се  прочетат данните от конзолата, а не ти предварително да задаваш стойност. Няма как да да ти работи правилно, ако няма проверка за деня и месеца. 

П.п. Погледнах условието, даже са ти подказали да използваш Console.ReadLine() и .Parse().

1
remote87 avatar remote87 121 Точки

Сега май работи със всякаква дата:

using System;

namespace _06.AgeAfterTenYears
{
    class AgeAfterTenYears
    {
        static void Main()
        {
            Console.WriteLine(DateTime.Now);
            Console.WriteLine("Enter your birth date like this 16/05/1987 :");
            DateTime birthdate = DateTime.Parse(Console.ReadLine());
            DateTime presentDate = DateTime.Now;
            int age = presentDate.Year - birthdate.Year;
            Console.WriteLine("You are {0} years old now.", age);
            Console.WriteLine("Your age after 10 years will be {0}", age + 10);
        }
    }
}

:)

0
RoYaL avatar RoYaL Trainer 6849 Точки

"Само не ми стана ясно, дали има вариант DateTime да се въведе само година?". Има, но трябва служебно да въведеш някакъв месец и ден. Иначе що за Date Time би било, ако другите не присъстват :):):).

DateTime someDate = new DateTime(1980, 01, 01);

Това 1980 можеш да го вземеш от входа на потребителя например.

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