La programación actual
#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;
}