Предмет: Информатика,
автор: danyaseleznyov01
Известны год и номер месяца рождения человека, а также год и номер месяца
сегодняшнего дня (январь — 1 и т. д.). Определить возраст человека (число
полных лет). В случае совпадения указанных номеров месяцев считать, что
прошел полный год.
Ответы
Автор ответа:
0
Пусть x - возраст человечка.
Вычитаем сегодняшний год из года, когда родился человечек:
x = сегодняшний год - год рождения человечка
Дальше сравниваем месяцы, если месяц рождения человечка меньше,чем сегодняшний месяц или равен ему, то x остается прежним:
x
Если месяц рождения человечка больше сегодняшнего месяца, то из x вычитаем 1:
x = x - 1
__________________________________________________________
Например:
Сегодняшний месяц: 9
Сегодняшний год: 2020
Год рождения человечка: 2002
Месяц рождения человечка: 8
x = 2020 - 2002
x = 18
Месяца рождения человечка меньше сегодняшнего, x остается прежним
x = 18
Ответ: 18 лет
Автор ответа:
0
Язык не указан, привел пример на C# .NET Core 3.1
Принимаем на вход номер года и номер месяца рождения.
Код:
- using System;
- namespace HowOldAreYou
- {
- class Program
- {
- static void Main(string[] args)
- {
- int month, year;
- Console.WriteLine("Enter your birthday year number and month number");
- Console.Write("Year: "); if (!int.TryParse(Console.ReadLine()!, out year)) return;
- Console.Write("Month: "); if (!int.TryParse(Console.ReadLine()!, out month) || month > 12 || month < 1) return;
- var today = DateTime.Now;
- var birthday = new DateTime(year, month, today.Day);
- var age = (ZeroDate + (today - birthday)).Year - 1;
- age = age == 0 ? 1 : age;
- Console.WriteLine($"Your age is {age}.");
- }
- private static DateTime ZeroDate => new DateTime(1, 1, 1);
- }
- }
Похожие вопросы
Предмет: Русский язык,
автор: Pnf44
Предмет: Русский язык,
автор: makmary77
Предмет: Русский язык,
автор: 290420038
Предмет: Химия,
автор: зайка479