La programación actual

Archivo "Data.h"

#ifndef? Data_H

#¿Definición? Datos_H

#pragma? Una vez

¿#incluir? ltiostream gt

¿Usar? STD::cout;

¿Usar? STD::CIN;

¿Uso? std::istream;

¿Usar? std::ostream;

¿Clase? CData

{

Público:

int? m_iAño

int? m_iMes

int? día;

Privado:

¿Booleano? IsLeapYear(const?int?iYear);

int? GetMonthsType(const?int?Sí, const?int?iMonth);

Público:

CData(void){ };

CData( int? iYear , int? iDay);

Amplificador CData? Operador=(const?CData amp?data);

CData? operador (const? int? i)? constante

CData? operador-(const?int?i)? const

¿Amigos? Ostra;? Operador lt lt(ostream? amp out, const? CData? amp data);

¿Amigo? istreamamp? operador gt gt(istream? amp in, ?CData? amp datos

}

#endif

-

Archivo); "Datos.cpp"

¿#contiene? " Data.h "

#¿Definición? AD_BIG 31

¿#Definición? ANUNCIO_PEQUEÑO 30

¿#Definición? 29 de febrero

¿#Definición? 28 de febrero AD

CData::CData(int?iYear, int?iMonth, int?iDay)

{

Y (iMonth? gt? 12)

{

¿Eamons? -=?12;

iaño;

}

Y (iMes? lt?1)

{

iAño-;

¿Eamons? =?12;

}

mientras(iDía? gt?28)

{

iDía-=GetMonthsType(iAño,iMes );

imes;

¿Si? (¿iMonth? gt? 12)

¿Imons? =?1;

iaño;

}

}

mientras(iDía? lt?1)

{

Si (iMes? lt=?1)

{

iAño-;

Imones? =?12;

}

iMes-;

iDía? =?GetMonthsType(iAño,iMes);

}

m_iAño? =?iAño

m_iMes?

=?iMes

m_iDía? =?iDay

}

¿Booleano? CData::IsLeapYear(const?int?iYear)

{

if((iYear 4 == 0 amp; ampiYear100!=0)||(iYear400==0))

¿Volver? Real;

Otros

¿Volver? Falso;

}

int? CData::GetMonthsType(const?int?Sí, const?int?iMonth)

{

int? ¿Retirado? =?AD _ BIG

Cambiar (iMonth)

{

¿Caso? 2:

¿Es el año bisiesto (iaño)? iRet = AD_FEBRUATY_YES: iRet = AD_FEBRUATY_NO;

Rotura;

¿Caso? 4:

¿Caso? 6:

¿Caso? 9:

¿Caso? 11:

¿Ret? =?AD _ SMALL

Romper;

}

¿Volver? iRet

}

¿Amplificador CData? CData::operator=(const?CData&?data)

{

¿Este-gt;m_iAño? =?data.m_iYear

¿Este->m_iMonth? =?data.m_iMonth

¿Este->m_iDay? =?data.m _ iDay

¿Volver? *Este;

}

¿CData? CData::operador(const?int?i)? ¿Constante

{

? ¿devolver? CData(m_iAño, m_iMes, m_iDía I);

}

CData? CData::operador-(const?int?i)? ¿Regresión constante

{

? CData(m_iAño, m_iMes, m_iDía-I);

}

Ostra;? Operador lt lt(ostream? amp out, const? CData? amp data)

{

¿Fuera? ¿Eh? datos.m_iAño? ¿Eh? "año" lt lt? datos.m_iMonth? ¿Eh? "luna"? ¿Eh? datos.m_iDay? ¿Eh? "日";

¿Volver? salida;

}

amplificador istream? Operador gt gt(istream? amp in, ?CData? amp data)

{

cout? ¿Eh? "Por favor ingrese el año:";

¿En? gt gtdata.m _ iYear

cout? ¿Eh? "Por favor ingrese el mes:";

¿En? gt gtdata.m _ iMonth

cout? ¿Eh? "Por favor ingrese una fecha:";

¿En? gt gtdata.m _ iDay

¿datos? =?CData(datos.m_iAño, datos.m_iMes, dat

a . m_iDay);

¿Volver? en;

}

-

El archivo "main.cpp"

#contiene? ltcstdio gt

#¿Contiene? " Datos.h "

int? main()

{

CData? Datos;

cin? gt gt? datos;

cout? ¿Eh? \nFecha de entrada: "?lt lt?data?lt ltSTD::endl;

cout?lt lt?" \tAyer: lt;lt? ¿datos? -1?lt ltSTD::endl;

cout? ¿Eh? "\tMañana? lt lt? ¿Datos? 1 lt; ltstd::endl;

¿Regresión? 0;

}