Определить возраст человека - C# (183577)
Формулировка задачи:
Задача
Известны год и номер месяца рождения человека, а также год и номер месяца сегодняшнего дня. Определить возраст человека (число полных лет и число полных месяцев). При определении числа полных месяцев дни месяца не учитывать, а использовать разность между номерами месяцев. Например, если месяц рождения — февраль, а текущий (сегодняшний) месяц — май, то число полных месяцев равно трем независимо от дня рождения и сегодняшнего дня.
Я как начинающий программист хотел чтобы вы мне подсказали , как можно упростить или улучшить этот код . Вообщем хочу чтобы сделали много замечаний, сильно не ругать (сам знаю что говнокодер и еще надо над многим работать). Сейчас читаю Шилдта и параллельно делаю задачки со зборника Златопольского, может есть еще лучший сборник задач? Много знакомых мне говорят о Троелсена, думаю после Шилдта начать читать его, только не знаю будет ли мне смысл перечитывать одно и тоже, а так то хочу работать с формами и после всего этого хочу начать читать Чарльза Петцольда.using System;
namespace example
{
class example_1
{
public int year, month, day;
public void info()
{
Console.Write("Year = ");
year = int.Parse(Console.ReadLine());
Console.Write("Month = ");
month = int.Parse(Console.ReadLine());
Console.Write("Day = ");
day = int.Parse(Console.ReadLine());
}
public int year_2, month_2, day_2;
public void info_t()
{
Console.Write("Today's year = ");
year_2 = int.Parse(Console.ReadLine());
Console.Write("Today's month = ");
month_2 = int.Parse(Console.ReadLine());
Console.Write("Today's day = ");
day_2 = int.Parse(Console.ReadLine());
}
public int result_year,result_month;
public void Result()
{
if ((month_2 -month) > 0)
{
result_month = month_2 - month;
result_year = year_2 - year;
Console.WriteLine("Получается {0} лет и {1} месяцов ", result_year, result_month);
}
else {
result_month = month_2 + 12 - month;
result_year = year_2 - 1 - year;
Console.WriteLine("Получается {0} лет и {1} месяцов ", result_year, result_month);
}
}
static void Main()
{
example_1 vadym = new example_1();
Console.WriteLine("Настоящая дата рождения : ");
vadym.info();
Console.WriteLine("\nHа сегодняшний день : ");
vadym.info_t();
vadym.Result();
Console.ReadLine();
}
}
}Решение задачи: «Определить возраст человека»
textual
Листинг программы
DateTime _Dt = new DateTime(1984, 9, 11); Console.WriteLine(DateTime.Now.Subtract(_Dt)); Console.ReadKey();