Расчет количества прожитых дней между датами рождения и смерти - 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;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы