Member 13159569 Ответов: 1

Мне нужна полная программа на C++ для вычисления разницы между двумя датами в году месяце и дне ?


я студент-информатик, и я написал программу, и я не знаю ошибки ? помоги мне!!

Что я уже пробовал:

private int[] monthDay = new int[12] { 31, -1, 31, 30, 31, 30, 31, 31, 30, 31, 30,
31 };
private DateTime fromDate;
private DateTime toDate;
private int year;
private int month;
private int day;

public DateDifference(DateTime d1, DateTime d2)

	if (d1 >d2)
{
    this.fromDate = d2;
    this.toDate = d1;
}
else
{
    this.fromDate = d1;
    this.toDate = d2;
}

	increment = 0; 
if (this.fromDate.Day > this.toDate.Day)
{ 
    increment = this.monthDay[this.fromDate.Month - 1]; 
}

if (increment== -1)
{
    if (DateTime.IsLeapYear(this.fromDate.Year))
    {
        increment = 29;
    } 
    else
    {
        increment = 28;
    }
}

if (increment != 0)
{    
    day = (this.toDate.Day+ increment) - this.fromDate.Day;
    increment = 1; 
}
else
{       
    day = this.toDate.Day - this.fromDate.Day;
}

if ((this.fromDate.Month + increment) > this.toDate.Month)
{   
    this.month = (this.toDate.Month+ 12) - (this.fromDate.Month + increment);
       increment = 1;
}
else
{    
    this.month = (this.toDate.Month) - (this.fromDate.Month + increment);
    increment = 0;
}

this.year = this.toDate.Year - (this.fromDate.Year + increment);


public int year;
public int month;
public int day;

public override string ToString()
{    
    return this.year + "Year(s), " + this.month + " month(s), " + this.day + " day(s)";
}

[no name]

"я не знаю ошибки", а затем узнайте, как использовать отладчик и выяснить это.

1 Ответов

Рейтинг:
0

Patrice T

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.