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 да се въведе само година?
Принципно е така, но ето условието, копирано точно от учебника:
11. Направете програма, която прочита от конзолата вашата възраст и изписва (също на конзолата) каква ще бъде вашата възраст след 10 години.
Никъде не се споменава за месец и т.н.
Иначе - приемам забележката и сега започвам да ровя, как да го коригирам и да хваща и месеца и спрямо него да изчислява :)
П.С. току що гледах видео на Наков / вярно по време на лекция /, но по същото условие го смята само за годината и дори не използва DateTime, може би затова съм се подвел и съм го написал така...Наков е виновен :D
В задачата пише да се прочетат данните от конзолата, а не ти предварително да задаваш стойност. Няма как да да ти работи правилно, ако няма проверка за деня и месеца.
П.п. Погледнах условието, даже са ти подказали да използваш Console.ReadLine() и .Parse().
Сега май работи със всякаква дата:
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);
}
}
}
:)