Расчет количества прожитых дней между датами рождения и смерти - C#
Формулировка задачи:
Народ подскажите где я ошибся.
Есть задача написать программу которая вычисляет количество прожитых дней человека по датам !
К примеру если мы вводим дату рождения 15.2.1911 и дату смерти 4.10.1987 должно получится 27991 дня.
Собственно сам код :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Person
{
public int bYear;
public int bMont;
public int bDeay;
public int dYear;
public int dMont;
public int dDeay;
int[,] date;
public Person()
{
date = new int[DateTime.Today.Year, 12];
for (int year = 0; year < DateTime.Today.Year; year++)
{
for (int mond = 0; mond < 12; mond++)
{
if (mond == 0 || mond == 2 || mond == 4 || mond == 6 || mond == 7 || mond == 9 || mond == 11)
{
date[year, mond] = 31;
}
else if (mond == 3 || mond == 5 || mond == 8 || mond == 10)
{
date[year, mond] = 30;
}
else
{
if (year % 4 == 0 & year % 100 > 0 | year % 400 == 0)
{
date[year, mond] = 29;
}
else
{
date[year, mond] = 28;
}
}
}
}
}
public int DeayLife()
{
int sumDeay = 0;
for (int bridyear = bYear, deadyear = dYear; bridyear <= deadyear; bridyear++)
{
for (int mond = bMont; mond < 12; mond++)
{
sumDeay += date[bridyear,mond];
}
}
sumDeay += dDeay;
return sumDeay-bDeay;
}
}
class Program
{
static void Main(string[] args)
{
Person human = new Person();
human.bYear = 1911;
human.bMont = 2;
human.bDeay = 15;
human.dYear = 1987;
human.dMont = 10;
human.dDeay = 4;
Console.WriteLine(human.DeayLife());
}
}
}Решение задачи: «Расчет количества прожитых дней между датами рождения и смерти»
textual
Листинг программы
class Person {
public int bYear;
public int bMont;
public int bDeay;
public int dYear;
public int dMont;
public int dDeay;
public int DeayLife() {
DateTime birthDate = new DateTime(bYear, bMont, bDeay);
DateTime deathDate = new DateTime(dYear, dMont, dDeay);
return (int)(deathDate - birthDate).TotalDays;
}
}